On Solaris 10 the current git xf86-input-mouse driver gives this error: ... (II) <default pointer>: Setting Device option to "/dev/mouse" (**) <default pointer>: Protocol: VUID (**) Option "CorePointer" (**) <default pointer>: always reports core events (**) Option "Device" "/dev/mouse" (II) <default pointer>: Setting Buttons option to "3" (==) <default pointer>: Emulate3Buttons, Emulate3Timeout: 50 (**) <default pointer>: ZAxisMapping: buttons 4 and 5 (**) <default pointer>: Buttons: 9 (II) XINPUT: Adding extended input device "<default pointer>" (type: MOUSE) Assertion failed: key->initialized, file include/xorg/privates.h, line 130, function dixGetPrivateAddr Abort - core dumped
Here is a patch for the bug. diff --git a/src/sun_mouse.c b/src/sun_mouse.c index f6e8dbb..80e1111 100644 --- a/src/sun_mouse.c +++ b/src/sun_mouse.c @@ -116,13 +116,21 @@ static void vuidMouseSendScreenSize(ScreenPtr pScreen, VuidMsePtr pVuidMse); static void vuidMouseAdjustFrame(int index, int x, int y, int flags); static int vuidMouseGeneration = 0; -static int vuidMouseScreenIndex; +DevPrivateKeyRec vuidDevicePrivateKeyRec; +#define vuidDevicePrivateKey (&vuidDevicePrivateKeyRec) + #define vuidMouseGetScreenPrivate(s) ( \ - dixLookupPrivate(&(s)->devPrivates, &vuidMouseScreenIndex)) + dixLookupPrivate(&(s)->devPrivates, vuidDevicePrivateKey)) #define vuidMouseSetScreenPrivate(s,p) \ - dixSetPrivate(&(s)->devPrivates, &vuidMouseScreenIndex, (void *) p) + dixSetPrivate(&(s)->devPrivates, vuidDevicePrivateKey, (void *) p) #endif /* HAVE_ABSOLUTE_MOUSE_SCALING */ +static Bool +VuidInitPrivates(void) +{ + return dixRegisterPrivateKey(vuidDevicePrivateKey, PRIVATE_SCREEN, 0); +} + static inline VuidMsePtr getVuidMsePriv(InputInfoPtr pInfo) { @@ -542,6 +550,7 @@ vuidMouseProc(DeviceIntPtr pPointer, int what) case DEVICE_INIT: #ifdef HAVE_ABSOLUTE_MOUSE_SCALING + VuidInitPrivates(); if (vuidMouseGeneration != serverGeneration) { for (i = 0; i < screenInfo.numScreens; i++) { ScreenPtr pScreen = screenInfo.screens[i];
Created attachment 37002 [details] [review] A patch for the bug
Sent patch to xorg-devel mailing list: http://lists.x.org/archives/xorg-devel/2010-July/011253.html
Push to Xorg master with http://cgit.freedesktop.org/xorg/driver/xf86-input-mouse/commit/?id=75300d6ae5a5b2324224423c9f976cba50e47547
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.