Author: branden
Date: 2004-03-26 16:17:39 -0500 (Fri, 26 Mar 2004)
New Revision: 1191

Modified:
   trunk/debian/TODO
   trunk/debian/changelog
   trunk/debian/patches/000_stolen_from_HEAD.diff
Log:
Grab fixes to the X server's DIX events processing from upstream CVS HEAD
(not under X-Oz or XFree86 1.1 license).

+ Fix a potential hang in Xinerama caused by an uninitialized
  sprite.hotShape. [Mark Vojkovich]
+ Build fix for when XKB is disabled but XINPUT isn't.  Reported by Paul
  Jarc. [Marc Aurele La France]
+ Fix a crash when xkb is disabled. [Matthieu Herrb] (Closes: #238407)


Modified: trunk/debian/TODO
===================================================================
--- trunk/debian/TODO   2004-03-26 19:38:14 UTC (rev 1190)
+++ trunk/debian/TODO   2004-03-26 21:17:39 UTC (rev 1191)
@@ -71,9 +71,6 @@
 * Add FAQ items:
   + How do I debug crashes in X clients?
   + How do I debug crashes in the XFree86 X server?
-* #238407: XFree86 crashes on PPC in 0x1072260c in AccessXCancelRepeatKey
-  (xkbi=0x0, key=64 '@') at xkbAccessX.c:387; possible fix exits upstream --
-  see bug report
 
 Probably for 4.4.0
 ==================

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog      2004-03-26 19:38:14 UTC (rev 1190)
+++ trunk/debian/changelog      2004-03-26 21:17:39 UTC (rev 1191)
@@ -67,8 +67,16 @@
       (David Dawes).
     (Closes: #230204)
 
- -- Branden Robinson <[EMAIL PROTECTED]>  Fri, 26 Mar 2004 14:34:14 -0500
+  * Grab fixes to the X server's DIX events processing from upstream CVS HEAD
+    (not under X-Oz or XFree86 1.1 license).
+    + Fix a potential hang in Xinerama caused by an uninitialized
+      sprite.hotShape. [Mark Vojkovich]
+    + Build fix for when XKB is disabled but XINPUT isn't.  Reported by Paul
+      Jarc. [Marc Aurele La France]
+    + Fix a crash when xkb is disabled. [Matthieu Herrb] (Closes: #238407)
 
+ -- Branden Robinson <[EMAIL PROTECTED]>  Fri, 26 Mar 2004 15:53:39 -0500
+
 xfree86 (4.3.0-7) unstable; urgency=medium
 
   * Urgency due to fix for FTBFS.  Yes -- I too am begging for it to stop.

Modified: trunk/debian/patches/000_stolen_from_HEAD.diff
===================================================================
--- trunk/debian/patches/000_stolen_from_HEAD.diff      2004-03-26 19:38:14 UTC 
(rev 1190)
+++ trunk/debian/patches/000_stolen_from_HEAD.diff      2004-03-26 21:17:39 UTC 
(rev 1191)
@@ -83,6 +83,17 @@
      and the related warning messages that recent Linux kernels generate
      (David Dawes).
 
+xc/programs/Xserver/dix/events.c @ 3.48
+  Fix a potential hang in Xinerama caused by an uninitialized
+  sprite.hotShape. [Mark Vojkovich]
+
+xc/programs/Xserver/dix/events.c @ 3.51
+  Build fix for when XKB is disabled but XINPUT isn't.  Reported by Paul
+  Jarc. [Marc Aurele La France]
+
+xc/programs/Xserver/dix/events.c @ 3.52
+  Fix a crash when xkb is disabled. [Matthieu Herrb]
+
 diff -urN xc.orig/config/imake/imake.c xc/config/imake/imake.c
 --- xc.orig/config/imake/imake.c       2002-12-17 09:48:27.000000000 +1100
 +++ xc/config/imake/imake.c    2003-04-09 01:58:14.000000000 +1000
@@ -888,34 +899,84 @@
  
 -exec LIBDIR/SERVERNAME.real -c LIBDIR/config
 +exec BINDIR/SERVERNAME.real -c LIBDIR/config
-Index: xc/programs/Xserver/dix/events.c
-===================================================================
-RCS file: /cvs/xc/programs/Xserver/dix/events.c,v
-retrieving revision 3.46
-retrieving revision 3.47
-diff -u -r3.46 -r3.47
---- xc/programs/Xserver/dix/events.c   17 Sep 2002 01:15:09 -0000      3.46
-+++ xc/programs/Xserver/dix/events.c   5 Apr 2003 18:15:47 -0000       3.47
+--- xc/programs/Xserver/dix/events.c~  2004-03-26 15:47:01.000000000 -0500
++++ xc/programs/Xserver/dix/events.c   2004-03-26 15:49:57.000000000 -0500
 @@ -1,4 +1,4 @@
 -/* $XFree86: xc/programs/Xserver/dix/events.c,v 3.46 2002/09/17 01:15:09 
dawes Exp $ */
-+/* $XFree86: xc/programs/Xserver/dix/events.c,v 3.47 2003/04/05 18:15:47 
dawes Exp $ */
++/* $XFree86: xc/programs/Xserver/dix/events.c,v 3.48 2003/04/16 19:18:44 
mvojkovi Exp $ */
  /************************************************************
  
  Copyright 1987, 1998  The Open Group
-@@ -988,6 +988,13 @@
+@@ -988,6 +988,14 @@
      xEvent            *qxE;
  
      NoticeTime(xE);
 +
 +#ifdef XKB
 +    /* Fix for key repeating bug. */
-+    if (xE->u.u.type == KeyRelease)
++    if (device->key != NULL && device->key->xkbInfo != NULL && 
++      xE->u.u.type == KeyRelease)
 +      AccessXCancelRepeatKey(device->key->xkbInfo, xE->u.u.detail);
 +#endif
 +
      if (DeviceEventCallback)
      {
        DeviceEventInfoRec eventinfo;
+@@ -1697,8 +1705,11 @@
+ #ifdef XINPUT
+     else
+     {
+-      if (((type == DeviceMotionNotify) || (type == DeviceButtonPress)) &&
+-          deliveries)
++      if (((type == DeviceMotionNotify)
++#ifdef XKB
++           || (type == DeviceButtonPress)
++#endif
++          ) && deliveries)
+           CheckDeviceGrabAndHintWindow (pWin, type,
+                                         (deviceKeyButtonPointer*) pEvents,
+                                         grab, client, deliveryMask);
+@@ -2123,6 +2134,9 @@
+       sprite.hotLimits.y2 = PanoramiXPixHeight - panoramiXdataPtr[0].y;
+       sprite.physLimits = sprite.hotLimits;
+       sprite.confineWin = NullWindow;
++#ifdef SHAPE
++        sprite.hotShape = NullRegion;
++#endif
+       sprite.screen = pScreen;
+       /* gotta UNINIT these someplace */
+       REGION_INIT(pScreen, &sprite.Reg1, NullBox, 1);
+@@ -2440,10 +2454,10 @@
+       xkbi= gdev->key->xkbInfo;
+ #endif
+       tempGrab.modifierDevice = grab->modifierDevice;
+-      if (device == grab->modifierDevice &&
+-          (xE->u.u.type == KeyPress
+-#ifdef XINPUT
+-           || xE->u.u.type == DeviceKeyPress
++      if ((device == grab->modifierDevice) &&
++          ((xE->u.u.type == KeyPress)
++#if defined(XINPUT) && defined(XKB)
++           || (xE->u.u.type == DeviceKeyPress)
+ #endif
+            ))
+           tempGrab.modifiersDetail.exact =
+@@ -2528,11 +2542,11 @@
+     register WindowPtr pWin = NULL;
+     register FocusClassPtr focus = device->focus;
+ 
+-    if ((xE->u.u.type == ButtonPress
+-#ifdef XINPUT
+-       || xE->u.u.type == DeviceButtonPress
++    if (((xE->u.u.type == ButtonPress)
++#if defined(XINPUT) && defined(XKB)
++       || (xE->u.u.type == DeviceButtonPress)
+ #endif
+-       ) && device->button->buttonsDown != 1)
++       ) && (device->button->buttonsDown != 1))
+       return FALSE;
+ 
+     i = checkFirst;
 diff -u -p -r1.2 -r1.3
 --- xc/programs/xkbcomp/symbols/pc/be  2002/11/22 04:03:28     1.2
 +++ xc/programs/xkbcomp/symbols/pc/be  2003/04/12 10:53:48     1.3

Reply via email to