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