File bug463512.diff of Package x11-input-wacom

--- wcmConfig.c	2008/08/31 20:23:19	1.33
+++ wcmConfig.c	2008/10/08 23:22:20	1.34
@@ -378,7 +378,7 @@
     
 	DBG(1, priv->debugLevel, ErrorF("xf86WcmUninit\n"));
 
-#ifndef WCM_UNINIT_CALLED
+#ifndef WCM_XORG_XSERVER_1_4
 	gWacomModule.DevProc(local->dev, DEVICE_OFF);
 #endif
 
--- xf86Wacom.c	2008/10/23 22:00:49	1.47
+++ xf86Wacom.c	2008/12/02 00:27:48	1.48
@@ -531,8 +532,14 @@
 
 	nbaxes = priv->naxes;       /* X, Y, Pressure, Tilt-X, Tilt-Y, Wheel */
 	nbbuttons = priv->nbuttons; /* Use actual number of buttons, if possible */
-	nbkeys = nbbuttons;         /* Same number of keys since any button may be */
-	                            /* configured as an either mouse button or key */
+	nbkeys = nbbuttons;         /* Same number of keys since any button may be 
+	                             * configured as an either mouse button or key */
+
+	if (!nbbuttons)
+		nbbuttons = nbkeys = 1;	    /* Xserver 1.5 or later crashes when 
+			            	     * nbbuttons = 0 while sending a beep 
+			             	     * This is only a workaround. 
+				     	     */
 
 	DBG(10, priv->debugLevel, ErrorF("xf86WcmRegisterX11Devices "
 		"(%s) %d buttons, %d keys, %d axes\n",
@@ -757,7 +764,7 @@
 		ErrorF("%s waiting 100 msec (total %dms) for device to become ready\n", local->name, wait); 
 		usleep(100*1000);
 	}
-	ErrorF("%s no synaptics event device found (checked %d nodes, waited %d msec)\n",
+	ErrorF("%s no Wacom event device found (checked %d nodes, waited %d msec)\n",
 		local->name, i + 1, wait);
 	return FALSE;
 }
--- wcmConfig.c.orig	2009-01-06 20:50:49.500785990 +0100
+++ wcmConfig.c	2009-01-06 20:54:00.313270700 +0100
@@ -387,6 +387,7 @@
 		xfree(priv->pPressCurve);
     
 	xfree(priv);
+	local->private = NULL;
 	xf86DeleteInput(local, 0);    
 }
 
openSUSE Build Service is sponsored by