The old model was implemented based on a misunderstanding of NotifyVirtual and
NotifyNonlinearVirtual events. It became complicated and was broken in some
places [1]. This patch wipes this model completely.
A much simplified implementation is provided instead. Rather than a top-down
approach ("we have a tree of windows, which ones need to get which event")
this one uses a step-by-step approach. For each window W between A and B
determine the pointer window P as perceived by this window and determine the
event type based on this information. This is in-line with the model described
by Owen Taylor [2].
[1] http://lists.freedesktop.org/archives/xorg/2008-December/041559.html
[2] http://lists.freedesktop.org/archives/xorg/2008-August/037606.html
(cherry picked from commit 0aa4460c3b)
Conflicts:
dix/enterleave.c
Restoring it unconditionally means we restore to whatever tty_mode has as
default value (i.e. 0). K_RAW happens to be 0x00, so we always restore to raw
mode if allowEmptyInput is off.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
(cherry picked from commit aea6f19f25)
Devices are only activated once - right after they've been added to the
server. If a device failes activation, it's dead. There's no reason to
continue. Return the error code from ActivateDevice() without setting up
sprite information or even sending a event to the client.
Then - in the DDX - just remove the device again.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 27011254c4)
A better approach which ensures we have a L modifier key down if we are told neither are down and atleast one is down... =/
(cherry picked from commit bc13dda345)
(cherry picked from commit c67a3e2972)
It was incorrectly blamed for some crashes a few months ago, and it should be
safe to use until we get an EXA driver to replace it.
(cherry picked from commit 8121f30bd2)
(cherry picked from commit 85347902d9)
This old behavior was used as a workaround for the menubar behavior in the older server,
but we handle it better now and need to update our screens when we toggle the rootless
state instead.
(cherry picked from commit 508aa95bc2)
(cherry picked from commit 7e7758e178)
- Example: mode 1280x1024, panned area 1281x1024
panned_area.x2 = 1281
mode.width = 1280
If you substract 1280 from 1281, then that leaves you with one.
Which is the one pixel that you need to move to actually see the last pixel collumn.
Substracting 1 from this will consistently prevent you from seeing the right and bottom edge.
(cherry picked from commit aedd2f566d)
Alloc an EventList once and then re-use instead of allocing a new event each
time we need a master event.
There's a trick included: because all the event processing handlers only take
an xEvent, init a size 1 EventList and squash the events into this one.
Events that have count > 1 must be squished into an xEvent array anyway before
passing into the event handlers, so we don't lose anything here.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Daniel Stone <daniel@fooishbar.org>
(cherry picked from commit d281866b74)
Say Option "XaaOffscreenPixmaps" to turn them back on.
Apropos of bugs #13795 and #15098. But this still isn't correct.
(cherry picked from commit 0c6987df3b)
Several recent Mesa commits (listed below) make modifications to the
protocol generator data and scripts. This commit represents the
changes to the generated files resulting from the previous changes.
- 0f73302d24f4201813da2939742c5bcb6964b3b1
GLX: Fix protocol for glTexSubImage#D
- 1709ab01ef24279c782e420568e9257b4b92b224
Return 0 as the request size when the pixels parameter is NULL
- 63cca2ba10ce7dcc8481cfa4be3872dfc269dded
GLX: Include glapi.h before glapitable.h
This is the server-side part of the fix for bugzilla #11003.
(cherry picked from commit f1c9b5ab23)