Xext/panoramiXSwap.c | 4 +++ Xi/exevents.c | 4 +-- config/hal.c | 5 ++- configure.ac | 2 - debian/changelog | 20 ++++++++++++--- debian/patches/12_bgPixel_fix_64bit_issue.diff | 33 ------------------------- debian/patches/14_default_screen_section.diff | 12 ++++----- debian/patches/series | 1 dix/getevents.c | 2 - hw/kdrive/ephyr/ephyrinit.c | 2 + hw/xfree86/dixmods/xkbKillSrv.c | 4 ++- hw/xfree86/modes/xf86EdidModes.c | 6 ++++ hw/xfree86/xaa/xaaGC.c | 9 +++--- hw/xprint/Makefile.am | 2 + mi/mieq.c | 4 ++- os/WaitFor.c | 2 - os/connection.c | 16 ++++++++---- xkb/ddxKillSrv.c | 4 ++- xkb/xkbActions.c | 19 ++++++++++++-- 19 files changed, 86 insertions(+), 65 deletions(-)
New commits: commit 49a73f0c697000fb2b9eabdf913ef1193256c9d1 Author: David Nusinow <[EMAIL PROTECTED]> Date: Wed Dec 12 21:19:43 2007 -0500 Prepare changelog for upload diff --git a/debian/changelog b/debian/changelog index 9f91c4b..957419e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xorg-server (2:1.4.1~git20071212-1) UNRELEASED; urgency=low +xorg-server (2:1.4.1~git20071212-1) unstable; urgency=low [ Julien Cristau ] * debian/rules: Use lsb_release -i -s to get the vendor name, instead of @@ -14,7 +14,7 @@ xorg-server (2:1.4.1~git20071212-1) UNRELEASED; urgency=low This is primarily a bugfix release + Remove 12_bgPixel_fix_64bit_issue.diff. Applied upstream - -- David Nusinow <[EMAIL PROTECTED]> Wed, 12 Dec 2007 19:45:26 -0500 + -- David Nusinow <[EMAIL PROTECTED]> Wed, 12 Dec 2007 20:19:11 -0500 xorg-server (2:1.4.1~git20071119-1) unstable; urgency=low commit 552c66c36526566353df563c817ebf3b3507bcf2 Author: David Nusinow <[EMAIL PROTECTED]> Date: Wed Dec 12 20:19:08 2007 -0500 * New upstream version. This is based on the server-1.4-branch, and includes all the changes in the 1.4.0.90 (pre-)release as well as additional fixes. This is primarily a bugfix release + Remove 12_bgPixel_fix_64bit_issue.diff. Applied upstream diff --git a/debian/changelog b/debian/changelog index cb16609..9f91c4b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ -xorg-server (2:1.4.1~git20071119-2) UNRELEASED; urgency=low +xorg-server (2:1.4.1~git20071212-1) UNRELEASED; urgency=low + [ Julien Cristau ] * debian/rules: Use lsb_release -i -s to get the vendor name, instead of hardcoding "Debian". * debian/control: build-dep on lsb-release. @@ -7,7 +8,13 @@ xorg-server (2:1.4.1~git20071119-2) UNRELEASED; urgency=low * Add patch 44_preferredmode_infinite_loop.diff from upstream git: fixes an infinite loop when PreferredMode is used in xorg.conf. - -- Julien Cristau <[EMAIL PROTECTED]> Sun, 02 Dec 2007 00:56:53 +0100 + [ David Nusinow ] + * New upstream version. This is based on the server-1.4-branch, and includes + all the changes in the 1.4.0.90 (pre-)release as well as additional fixes. + This is primarily a bugfix release + + Remove 12_bgPixel_fix_64bit_issue.diff. Applied upstream + + -- David Nusinow <[EMAIL PROTECTED]> Wed, 12 Dec 2007 19:45:26 -0500 xorg-server (2:1.4.1~git20071119-1) unstable; urgency=low diff --git a/debian/patches/12_bgPixel_fix_64bit_issue.diff b/debian/patches/12_bgPixel_fix_64bit_issue.diff deleted file mode 100644 index f80d4a4..0000000 --- a/debian/patches/12_bgPixel_fix_64bit_issue.diff +++ /dev/null @@ -1,33 +0,0 @@ -From 9adea807038b64292403ede982075fe1dcfd4c9a Mon Sep 17 00:00:00 2001 -From: Hong Liu <[EMAIL PROTECTED]> -Date: Tue, 4 Sep 2007 08:46:46 +0100 -Subject: [PATCH] bgPixel (unsigned long) is 64-bit on x86_64, so -1 != 0xffffffff - -This patch should fix bug 8080. ---- - hw/xfree86/xaa/xaaGC.c | 9 +++++---- - 1 files changed, 5 insertions(+), 4 deletions(-) - -diff --git a/hw/xfree86/xaa/xaaGC.c b/hw/xfree86/xaa/xaaGC.c -index f3434c9..b3dc83a 100644 ---- a/hw/xfree86/xaa/xaaGC.c -+++ b/hw/xfree86/xaa/xaaGC.c -@@ -80,10 +80,11 @@ XAAValidateGC( - } - - if(pGC->depth != 32) { -- if(pGC->bgPixel == -1) /* -1 is reserved for transparency */ -- pGC->bgPixel = 0x7fffffff; -- if(pGC->fgPixel == -1) /* -1 is reserved for transparency */ -- pGC->fgPixel = 0x7fffffff; -+ /* 0xffffffff is reserved for transparency */ -+ if(pGC->bgPixel == 0xffffffff) -+ pGC->bgPixel = 0x7fffffff; -+ if(pGC->fgPixel == 0xffffffff) -+ pGC->fgPixel = 0x7fffffff; - } - - if((pDraw->type == DRAWABLE_PIXMAP) && !IS_OFFSCREEN_PIXMAP(pDraw)){ --- -1.5.3.2 - diff --git a/debian/patches/14_default_screen_section.diff b/debian/patches/14_default_screen_section.diff index 3151f6e..a3b6061 100644 --- a/debian/patches/14_default_screen_section.diff +++ b/debian/patches/14_default_screen_section.diff @@ -1,8 +1,8 @@ Index: xorg-server/hw/xfree86/common/xf86Config.c =================================================================== ---- xorg-server.orig/hw/xfree86/common/xf86Config.c 2007-11-19 20:36:12.000000000 -0500 -+++ xorg-server/hw/xfree86/common/xf86Config.c 2007-11-19 20:36:13.000000000 -0500 -@@ -1800,11 +1800,6 @@ +--- xorg-server.orig/hw/xfree86/common/xf86Config.c 2007-12-12 19:43:59.000000000 -0500 ++++ xorg-server/hw/xfree86/common/xf86Config.c 2007-12-12 19:44:10.000000000 -0500 +@@ -1801,11 +1801,6 @@ if (!servlayoutp) return FALSE; @@ -14,7 +14,7 @@ Index: xorg-server/hw/xfree86/common/xf86Config.c /* * which screen section is the active one? * -@@ -1892,6 +1887,12 @@ +@@ -1893,6 +1888,12 @@ XF86ConfAdaptorLinkPtr conf_adaptor; Bool defaultMonitor = FALSE; @@ -29,8 +29,8 @@ Index: xorg-server/hw/xfree86/common/xf86Config.c /* Index: xorg-server/hw/xfree86/parser/Screen.c =================================================================== ---- xorg-server.orig/hw/xfree86/parser/Screen.c 2007-11-19 20:36:47.000000000 -0500 -+++ xorg-server/hw/xfree86/parser/Screen.c 2007-11-19 20:36:57.000000000 -0500 +--- xorg-server.orig/hw/xfree86/parser/Screen.c 2007-12-12 19:43:02.000000000 -0500 ++++ xorg-server/hw/xfree86/parser/Screen.c 2007-12-12 19:44:10.000000000 -0500 @@ -498,12 +498,6 @@ XF86ConfDevicePtr device; XF86ConfAdaptorLinkPtr adaptor; diff --git a/debian/patches/series b/debian/patches/series index 08a6b93..f9cca17 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -6,7 +6,6 @@ 06_use_proc_instead_of_sysfs_for_pci_domains.diff 07_autoconfig_screen_with_device_section.diff 10_dont_look_in_home_for_config.diff -p0 -12_bgPixel_fix_64bit_issue.diff 13_debian_add_xkbpath_env_variable.diff 14_default_screen_section.diff 21_glx_align_fixes.patch commit d988da6eee8422774dff364050bf431b843a714a Author: Arkadiusz Miskiewicz <[EMAIL PROTECTED]> Date: Thu Dec 13 00:09:08 2007 +0200 Xprint: Clean up generated files Remember to clean generated wrapper files. (cherry picked from commit 977fcdea8198906936a64b8117e6a6d027c617e3) diff --git a/hw/xprint/Makefile.am b/hw/xprint/Makefile.am index dc8764a..f834966 100644 --- a/hw/xprint/Makefile.am +++ b/hw/xprint/Makefile.am @@ -41,3 +41,5 @@ Xprt_SOURCES = \ $(top_srcdir)/fb/fbcmap_mi.c EXTRA_DIST = ValTree.c + +CLEANFILES = miinitext-wrapper.c dpmsstubs-wrapper.c commit 41f735fbe02f59bc7bcca335c6e743c72c2fc44c Author: Hong Liu <[EMAIL PROTECTED]> Date: Tue Sep 4 08:46:46 2007 +0100 bgPixel (unsigned long) is 64-bit on x86_64, so -1 != 0xffffffff This patch should fix bug 8080. (cherry picked from commit 9adea807038b64292403ede982075fe1dcfd4c9a) diff --git a/hw/xfree86/xaa/xaaGC.c b/hw/xfree86/xaa/xaaGC.c index f3434c9..b3dc83a 100644 --- a/hw/xfree86/xaa/xaaGC.c +++ b/hw/xfree86/xaa/xaaGC.c @@ -80,10 +80,11 @@ XAAValidateGC( } if(pGC->depth != 32) { - if(pGC->bgPixel == -1) /* -1 is reserved for transparency */ - pGC->bgPixel = 0x7fffffff; - if(pGC->fgPixel == -1) /* -1 is reserved for transparency */ - pGC->fgPixel = 0x7fffffff; + /* 0xffffffff is reserved for transparency */ + if(pGC->bgPixel == 0xffffffff) + pGC->bgPixel = 0x7fffffff; + if(pGC->fgPixel == 0xffffffff) + pGC->fgPixel = 0x7fffffff; } if((pDraw->type == DRAWABLE_PIXMAP) && !IS_OFFSCREEN_PIXMAP(pDraw)){ commit f4bcb53e86bb103b6bcf8a3a170a36137c34d272 Author: Hong Liu <[EMAIL PROTECTED]> Date: Wed Dec 5 17:48:28 2007 +0100 Bug 13308: Verify and reject obviously broken modes. (cherry picked from commit c6cfcd408df3e44d0094946c0a7d2fa944b4d2d1) diff --git a/hw/xfree86/modes/xf86EdidModes.c b/hw/xfree86/modes/xf86EdidModes.c index 8b5e69d..e2ae665 100644 --- a/hw/xfree86/modes/xf86EdidModes.c +++ b/hw/xfree86/modes/xf86EdidModes.c @@ -239,6 +239,12 @@ DDCModeFromDetailedTiming(int scrnIndex, struct detailed_timings *timing, Mode->VSyncEnd = Mode->VSyncStart + timing->v_sync_width; Mode->VTotal = timing->v_active + timing->v_blanking; + /* perform basic check on the detail timing */ + if (Mode->HSyncEnd > Mode->HTotal || Mode->VSyncEnd > Mode->VTotal) { + xfree(Mode); + return NULL; + } + xf86SetModeDefaultName(Mode); /* We ignore h/v_size and h/v_border for now. */ commit d63efecc9471ac53535932b80a85b7f408f06fb9 Author: Daniel Stone <[EMAIL PROTECTED]> Date: Wed Dec 12 21:57:59 2007 +0200 Bump to 1.4.0.90 diff --git a/configure.ac b/configure.ac index dedc5f1..72d9819 100644 --- a/configure.ac +++ b/configure.ac @@ -26,7 +26,7 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ(2.57) -AC_INIT([xorg-server], 1.4, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) +AC_INIT([xorg-server], 1.4.0.90, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) AC_CONFIG_SRCDIR([Makefile.am]) AM_INIT_AUTOMAKE([dist-bzip2 foreign]) AM_MAINTAINER_MODE commit 446efcc554195970cb3ddcd992f7aac617d45b1d Author: Bartosz Fabianowski <[EMAIL PROTECTED]> Date: Fri Dec 7 02:38:14 2007 +0000 Input: Fix proximity events with valuators Initialise num_events to 1, so we always send a proximity event, and then optionally valuator events. Also make sure mieq can deal with valuator events sent after proximity events. (cherry picked from commit 2dcfab37d38c0c72e9be7cc724047405c8029e88) diff --git a/dix/getevents.c b/dix/getevents.c index b70653d..12d8189 100644 --- a/dix/getevents.c +++ b/dix/getevents.c @@ -705,7 +705,7 @@ _X_EXPORT int GetProximityEvents(xEvent *events, DeviceIntPtr pDev, int type, int first_valuator, int num_valuators, int *valuators) { - int num_events = 0; + int num_events = 1; deviceKeyButtonPointer *kbp = (deviceKeyButtonPointer *) events; /* Sanity checks. */ diff --git a/mi/mieq.c b/mi/mieq.c index 20c4b62..e644090 100644 --- a/mi/mieq.c +++ b/mi/mieq.c @@ -128,7 +128,9 @@ mieqEnqueue(DeviceIntPtr pDev, xEvent *e) if (oldtail == miEventQueue.head || !(lastkbp->type == DeviceMotionNotify || lastkbp->type == DeviceButtonPress || - lastkbp->type == DeviceButtonRelease) || + lastkbp->type == DeviceButtonRelease || + lastkbp->type == ProximityIn || + lastkbp->type == ProximityOut) || ((lastkbp->deviceid & DEVICE_BITS) != (v->deviceid & DEVICE_BITS))) { ErrorF("mieqEnequeue: out-of-order valuator event; dropping.\n"); commit 9f4689173ef9db080592497dc2212ae79b8d6e02 Author: Daniel Stone <[EMAIL PROTECTED]> Date: Thu Dec 6 00:46:32 2007 +0000 KDrive: Xephyr: Fix non-GLX builds Only set noGlxExtension if we're actually building GLX. diff --git a/hw/kdrive/ephyr/ephyrinit.c b/hw/kdrive/ephyr/ephyrinit.c index c33892c..e4ff975 100644 --- a/hw/kdrive/ephyr/ephyrinit.c +++ b/hw/kdrive/ephyr/ephyrinit.c @@ -47,7 +47,9 @@ InitCard (char *name) void InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) { +#ifdef GLXEXT noGlxExtension=TRUE; +#endif KdInitOutput (pScreenInfo, argc, argv); } commit d37351308b255d5f9bff3438b6767c62974902da Author: Daniel Stone <[EMAIL PROTECTED]> Date: Wed Dec 5 19:37:48 2007 +0000 XKB: Actions: Don't run certain actions on the core keyboard Don't run VT switches, terminations, or anything, on the core keyboard: only run actions which affect the keyboard state. If we get an action such as VT switch, just swallow the event. (cherry picked from commit 320abd7d1d906807448fa01ad3377daf707f46cc) diff --git a/hw/xfree86/dixmods/xkbKillSrv.c b/hw/xfree86/dixmods/xkbKillSrv.c index b3399db..9074fd3 100644 --- a/hw/xfree86/dixmods/xkbKillSrv.c +++ b/hw/xfree86/dixmods/xkbKillSrv.c @@ -48,6 +48,8 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. int XkbDDXTerminateServer(DeviceIntPtr dev,KeyCode key,XkbAction *act) { - xf86ProcessActionEvent(ACTION_TERMINATE, NULL); + if (dev != inputInfo.keyboard) + xf86ProcessActionEvent(ACTION_TERMINATE, NULL); + return 0; } diff --git a/xkb/ddxKillSrv.c b/xkb/ddxKillSrv.c index a573ecb..3b5fd53 100644 --- a/xkb/ddxKillSrv.c +++ b/xkb/ddxKillSrv.c @@ -41,6 +41,8 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. int XkbDDXTerminateServer(DeviceIntPtr dev,KeyCode key,XkbAction *act) { - GiveUp(1); + if (dev != inputInfo.keyboard) + GiveUp(1); + return 0; } diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c index 8ddbdba..6edac29 100644 --- a/xkb/xkbActions.c +++ b/xkb/xkbActions.c @@ -561,6 +561,9 @@ _XkbFilterPointerMove( XkbSrvInfoPtr xkbi, int x,y; Bool accel; + if (xkbi->device == inputInfo.keyboard) + return 0; + if (filter->keycode==0) { /* initial press */ filter->keycode = keycode; filter->active = 1; @@ -601,6 +604,9 @@ _XkbFilterPointerBtn( XkbSrvInfoPtr xkbi, unsigned keycode, XkbAction * pAction) { + if (xkbi->device == inputInfo.keyboard) + return 0; + if (filter->keycode==0) { /* initial press */ int button= pAction->btn.button; @@ -980,8 +986,11 @@ _XkbFilterSwitchScreen( XkbSrvInfoPtr xkbi, unsigned keycode, XkbAction * pAction) { + DeviceIntPtr dev = xkbi->device; + if (dev == inputInfo.keyboard) + return 0; + if (filter->keycode==0) { /* initial press */ - DeviceIntPtr dev = xkbi->device; filter->keycode = keycode; filter->active = 1; filter->filterOthers = 0; @@ -1003,8 +1012,11 @@ _XkbFilterXF86Private( XkbSrvInfoPtr xkbi, unsigned keycode, XkbAction * pAction) { + DeviceIntPtr dev = xkbi->device; + if (dev == inputInfo.keyboard) + return 0; + if (filter->keycode==0) { /* initial press */ - DeviceIntPtr dev = xkbi->device; filter->keycode = keycode; filter->active = 1; filter->filterOthers = 0; @@ -1029,6 +1041,9 @@ _XkbFilterDeviceBtn( XkbSrvInfoPtr xkbi, DeviceIntPtr dev; int button; + if (dev == inputInfo.keyboard) + return 0; + if (filter->keycode==0) { /* initial press */ dev= _XkbLookupButtonDevice(pAction->devbtn.device,NULL); if ((!dev)||(!dev->public.on)||(&dev->public==LookupPointerDevice())) commit 27da1367c9ea143946b8b8d3dbd0f9d44c4a9039 Author: Daniel Stone <[EMAIL PROTECTED]> Date: Wed Dec 5 19:36:59 2007 +0000 WaitForSomething: Ignore EAGAIN If select ever returns EAGAIN, don't bother complaining. (cherry picked from commit 85dd8efac1bc0715f03c99d261b1c5d0980623e1) diff --git a/os/WaitFor.c b/os/WaitFor.c index ec1592c..65f53c5 100644 --- a/os/WaitFor.c +++ b/os/WaitFor.c @@ -262,7 +262,7 @@ WaitForSomething(int *pClientsReady) FatalError("WaitForSomething(): select: errno=%d\n", selecterr); } - else if (selecterr != EINTR) + else if (selecterr != EINTR && selecterr != EAGAIN) { ErrorF("WaitForSomething(): select: errno=%d\n", selecterr); commit 259f86b13b453f3503afd3d523de32b43996d334 Author: Rich Coe <[EMAIL PROTECTED]> Date: Wed Dec 5 19:36:37 2007 +0000 OS: Connection: Keep trying select while it gets interrupted (bug #9240) If we got interrupted (EINTR or EAGAIN) during select, just try again, rather than shutting clients down on either of these errors. (cherry picked from commit b7f3618f3933a810778093fd47564a1e3bf3fde6) diff --git a/os/connection.c b/os/connection.c index 135dd2c..b944593 100644 --- a/os/connection.c +++ b/os/connection.c @@ -1006,7 +1006,9 @@ CheckConnections(void) curclient = curoff + (i * (sizeof(fd_mask)*8)); FD_ZERO(&tmask); FD_SET(curclient, &tmask); - r = Select (curclient + 1, &tmask, NULL, NULL, ¬ime); + do { + r = Select (curclient + 1, &tmask, NULL, NULL, ¬ime); + } while (r < 0 && (errno == EINTR || errno == EAGAIN)); if (r < 0) if (ConnectionTranslation[curclient] > 0) CloseDownClient(clients[ConnectionTranslation[curclient]]); @@ -1020,9 +1022,12 @@ CheckConnections(void) curclient = XFD_FD(&savedAllClients, i); FD_ZERO(&tmask); FD_SET(curclient, &tmask); - r = Select (curclient + 1, &tmask, NULL, NULL, ¬ime); - if (r < 0 && GetConnectionTranslation(curclient) > 0) - CloseDownClient(clients[GetConnectionTranslation(curclient)]); + do { + r = Select (curclient + 1, &tmask, NULL, NULL, ¬ime); + } while (r < 0 && (errno == EINTR || errno == EAGAIN)); + if (r < 0) + if (GetConnectionTranslation(curclient) > 0) + CloseDownClient(clients[GetConnectionTranslation(curclient)]); } #endif } commit 90649e6a39dc6caad8313b25ef869a089f81aba7 Author: Rich Coe <[EMAIL PROTECTED]> Date: Wed Dec 5 19:31:07 2007 +0000 OS: Connection: Don't shut down disappeared clients (bug #7876) If a client disappears in the middle of CheckConnections (presumably because its appgroup leader disappears), then don't attempt to shut it down a second time, when it's already vanished. (cherry picked from commit d8b2cad3771a09860e7be1726f67e684cf7caeec) diff --git a/os/connection.c b/os/connection.c index d975f87..135dd2c 100644 --- a/os/connection.c +++ b/os/connection.c @@ -1008,7 +1008,8 @@ CheckConnections(void) FD_SET(curclient, &tmask); r = Select (curclient + 1, &tmask, NULL, NULL, ¬ime); if (r < 0) - CloseDownClient(clients[ConnectionTranslation[curclient]]); + if (ConnectionTranslation[curclient] > 0) + CloseDownClient(clients[ConnectionTranslation[curclient]]); mask &= ~((fd_mask)1 << curoff); } } commit 25d26b55e74b50a2fd0632329cb0bdca017fe8e6 Author: Kanru Chen <[EMAIL PROTECTED]> Date: Mon Dec 3 12:46:45 2007 +0000 Config: HAL: Fix XKB option parsing Actually combine the XKB options into a string, rather than just repeatedly writing a comma. (cherry picked from commit da893908feb2dcf7c22420b3426ab3ac65c7ca99) diff --git a/config/hal.c b/config/hal.c index 6bb449d..4427deb 100644 --- a/config/hal.c +++ b/config/hal.c @@ -134,10 +134,11 @@ get_prop_string_array(LibHalContext *hal_ctx, const char *udi, const char *prop) str = ret; for (i = 0; props[i]; i++) { - str = strcpy(str, props[i]); + strcpy(str, props[i]); + str += strlen(props[i]); *str++ = ','; } - *str = '\0'; + *(str-1) = '\0'; libhal_free_string_array(props); } commit b037e4a5abb878ad89e7f27c2b6c23004625f6c3 Author: Peter Harris <[EMAIL PROTECTED]> Date: Mon Oct 29 18:05:19 2007 -0400 Add missing swaps in panoramiXSwap.c (cherry picked from commit cb67a10b7f6f564e0345de19316934361ea28720) diff --git a/Xext/panoramiXSwap.c b/Xext/panoramiXSwap.c index da445ff..0487471 100644 --- a/Xext/panoramiXSwap.c +++ b/Xext/panoramiXSwap.c @@ -70,6 +70,7 @@ SProcPanoramiXGetState(ClientPtr client) swaps (&stuff->length, n); REQUEST_SIZE_MATCH(xPanoramiXGetStateReq); + swapl (&stuff->window, n); return ProcPanoramiXGetState(client); } @@ -81,6 +82,7 @@ SProcPanoramiXGetScreenCount(ClientPtr client) swaps (&stuff->length, n); REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq); + swapl (&stuff->window, n); return ProcPanoramiXGetScreenCount(client); } @@ -92,6 +94,8 @@ SProcPanoramiXGetScreenSize(ClientPtr client) swaps (&stuff->length, n); REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); + swapl (&stuff->window, n); + swapl (&stuff->screen, n); return ProcPanoramiXGetScreenSize(client); } commit 3e0993fcf38e47dd42c27a2dcb5dde7d23222ca8 Author: Daniel Stone <[EMAIL PROTECTED]> Date: Fri Nov 30 20:35:26 2007 +0200 ProcessOtherEvent: Don't do double translation of button events We already deal with the button mapping in GetPointerEvents, so don't do the remapping again in ProcessOtherEvent. (cherry picked from commit 7ff002fe3e229330216d7f2ff16cdabe63014bcd) diff --git a/Xi/exevents.c b/Xi/exevents.c index 377311e..7cf0c50 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -244,7 +244,7 @@ ProcessOtherEvent(xEventPtr xE, DeviceIntPtr other, int count) other->valuator->motionHintWindow = NullWindow; b->buttonsDown++; b->motionMask = DeviceButtonMotionMask; - xE->u.u.detail = b->map[key]; + xE->u.u.detail = key; if (xE->u.u.detail == 0) return; if (xE->u.u.detail <= 5) @@ -266,7 +266,7 @@ ProcessOtherEvent(xEventPtr xE, DeviceIntPtr other, int count) other->valuator->motionHintWindow = NullWindow; if (b->buttonsDown >= 1 && !--b->buttonsDown) b->motionMask = 0; - xE->u.u.detail = b->map[key]; + xE->u.u.detail = key; if (xE->u.u.detail == 0) return; if (xE->u.u.detail <= 5) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]