EventToXI2 returns a NULL event for enter/focus events since these events
aren't yet wrapped into internal events. This is a quickfix only, it works
thanks to the alignment of internal and XI2 event types.
Eventually, enter/leave events should be wrapped into internal events.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
A client that grabs for button/key events may not have the
ButtonPress/KeyPress mask set and should not receive an event in that case.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
There will be no new space allocated, if mode != PropModeReplace and
len == 0, or if mode is not one of the handled modes.
This fixes freeing data that is still in use, leading to double frees and
other memory corruption.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Keysym grabs are tricky in the details, keycode grabs are known to work. So
for now, provide keycode grabs only.
Requires inputproto 1.9.99.15.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Fixes screensaver fadeout effects.
Also make all RandR 1.2 compatibility code for XF86VidMode operate only on the
CRTC associated with the compatibility output, not all CRTCs at once.
Use reference counting and do nothing unless the reference count transitions
to/from 0.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=22822 .
As a bonus, this avoids calling the driver Prepare/FinishAccess hooks more than
once per pixmap and operation.
Also update the Doxygen documentation for the PrepareAccess driver hook to
better match current reality.
* Check all pixmaps involved for damage records, fixes visual corruption due to
the screen pixmap never having one.
* Fix an array size and remove a now superfluous assignment.
This header file is not in the /dix dir, but in the /include dir.
The makefile aborted and the xserver distribution files were not created.
The fix is to remove this header file from the libdix_la_SOURCES
in the dix/Makefile.am.
X.Org Bug 27825 <http://bugs.freedesktop.org/show_bug.cgi?id=27825>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This was a vestige from the days before we'd make the mode list from the
EDID data, and from CRT technology when you could reasonably assume that
higher refresh rates were better. Also it did not function as advertised,
acting as a high-pass filter instead of a band-pass.
Event alloc_arg: Called allocation function "XIPropToInt" on "ptr" [details]
167 rc = XIPropToInt(val, &nelem, &ptr);
Event leaked_storage: Variable "ptr" goes out of scope