xserver: Branch 'master' - 2 commits
Peter Hutterer
whot at kemper.freedesktop.org
Wed Jan 14 22:33:49 PST 2009
Xext/geext.h | 13 +++++++------
dix/events.c | 9 ++-------
2 files changed, 9 insertions(+), 13 deletions(-)
New commits:
commit e30032d0bbbf0bf71e1b53a4ac388f3bd6f68e53
Author: Peter Hutterer <peter.hutterer at redhat.com>
Date: Mon Dec 1 21:14:01 2008 +1000
Xext: clean up XGE macros.
Signed-off-by: Peter Hutterer <peter.hutterer at redhat.com>
diff --git a/Xext/geext.h b/Xext/geext.h
index 3074431..65ce1a7 100644
--- a/Xext/geext.h
+++ b/Xext/geext.h
@@ -68,12 +68,13 @@ typedef struct _GEExtension {
/* All registered extensions and their handling functions. */
extern _X_EXPORT GEExtension GEExtensions[MAXEXTENSIONS];
+/* Typecast to generic event */
+#define GEV(ev) ((xGenericEvent*)(ev))
/* Returns the extension offset from the event */
-#define GEEXT(ev) (((xGenericEvent*)(ev))->extension)
+#define GEEXT(ev) (GEV(ev)->extension)
+/* Return zero-based extension offset (offset - 128). Only for use in arrays */
#define GEEXTIDX(ev) (GEEXT(ev) & 0x7F)
-/* Typecast to generic event */
-#define GEV(ev) ((xGenericEvent*)(ev))
/* True if mask is set for extension on window */
#define GEMaskIsSet(pWin, extension, mask) \
((pWin)->optional && \
@@ -89,9 +90,9 @@ extern _X_EXPORT GEExtension GEExtensions[MAXEXTENSIONS];
GEExtensions[GEEXTIDX(xE)].evfill
#define GEIsType(ev, ext, ev_type) \
- ((ev->u.u.type == GenericEvent) && \
- ((xGenericEvent*)(ev))->extension == ext && \
- ((xGenericEvent*)(ev))->evtype == ev_type)
+ ((GEV(ev)->type == GenericEvent) && \
+ GEEXT(ev) == (ext) && \
+ GEV(ev)->evtype == (ev_type))
/* Interface for other extensions */
commit 1ae529bef50a8ccc4a8a264ed120aeae544b21e7
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Wed Jan 14 14:56:10 2009 +1000
dix: replace manual check for event types with IsPointerEvent()
diff --git a/dix/events.c b/dix/events.c
index da57aa0..a042089 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -3592,14 +3592,9 @@ DeliverGrabbedEvent(xEvent *xE, DeviceIntPtr thisDev,
* for the type of event, to see if we really want to deliver it to
* the focus window. For pointer events, the answer is no.
*/
- if (xE->u.u.type == DeviceButtonPress ||
- xE->u.u.type == DeviceButtonRelease ||
- xE->u.u.type == DeviceMotionNotify ||
- xE->u.u.type == ProximityIn ||
- xE->u.u.type == ProximityOut)
- {
+ if (IsPointerEvent(xE))
focus = PointerRootWin;
- } else if (thisDev->focus)
+ else if (thisDev->focus)
{
focus = thisDev->focus->win;
if (focus == FollowKeyboardWin)
More information about the xorg-commit
mailing list