[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

X Strike Force XFree86 SVN commit: r1191 - in trunk/debian: . patches



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 <branden@debian.org>  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 <branden@debian.org>  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 to: