diff options
Diffstat (limited to 'xorg-server/dix')
-rw-r--r-- | xorg-server/dix/colormap.c | 3 | ||||
-rw-r--r-- | xorg-server/dix/cursor.c | 3 | ||||
-rw-r--r-- | xorg-server/dix/devices.c | 10 | ||||
-rw-r--r-- | xorg-server/dix/dix.c | 0 | ||||
-rw-r--r-- | xorg-server/dix/events.c | 8 |
5 files changed, 12 insertions, 12 deletions
diff --git a/xorg-server/dix/colormap.c b/xorg-server/dix/colormap.c index d702b0204..bf9794125 100644 --- a/xorg-server/dix/colormap.c +++ b/xorg-server/dix/colormap.c @@ -2705,6 +2705,9 @@ static void _colormap_find_resource(pointer value, XID id, ColormapPtr cmap = value; int j; + if (pScreen != cmap->pScreen) + return; + j = cmap->pVisual - pScreen->visuals; cmap->pVisual = &visuals[j]; } diff --git a/xorg-server/dix/cursor.c b/xorg-server/dix/cursor.c index 086d008e0..6103b15e3 100644 --- a/xorg-server/dix/cursor.c +++ b/xorg-server/dix/cursor.c @@ -86,6 +86,8 @@ FreeCursorBits(CursorBitsPtr bits) #ifdef ARGB_CURSOR xfree(bits->argb); #endif + dixFreePrivates(bits->devPrivates); + bits->devPrivates = NULL; if (bits->refcnt == 0) { GlyphSharePtr *prev, this; @@ -100,7 +102,6 @@ FreeCursorBits(CursorBitsPtr bits) CloseFont(this->font, (Font)0); xfree(this); } - dixFreePrivates(bits->devPrivates); xfree(bits); } } diff --git a/xorg-server/dix/devices.c b/xorg-server/dix/devices.c index 6a7907399..395e19acf 100644 --- a/xorg-server/dix/devices.c +++ b/xorg-server/dix/devices.c @@ -539,7 +539,7 @@ CoreKeyboardProc(DeviceIntPtr pDev, int what) int CorePointerProc(DeviceIntPtr pDev, int what) { -#define NBUTTONS 7 +#define NBUTTONS 10 #define NAXES 2 BYTE map[NBUTTONS + 1]; int i = 0; @@ -1520,14 +1520,12 @@ int ProcGetModifierMapping(ClientPtr client) { xGetModifierMappingReply rep; - int ret, max_keys_per_mod = 0; + int max_keys_per_mod = 0; KeyCode *modkeymap = NULL; REQUEST_SIZE_MATCH(xReq); - ret = generate_modkeymap(client, PickKeyboard(client), &modkeymap, - &max_keys_per_mod); - if (ret != Success) - return ret; + generate_modkeymap(client, PickKeyboard(client), &modkeymap, + &max_keys_per_mod); memset(&rep, 0, sizeof(xGetModifierMappingReply)); rep.type = X_Reply; diff --git a/xorg-server/dix/dix.c b/xorg-server/dix/dix.c deleted file mode 100644 index e69de29bb..000000000 --- a/xorg-server/dix/dix.c +++ /dev/null diff --git a/xorg-server/dix/events.c b/xorg-server/dix/events.c index d070a4c6f..015c2b19f 100644 --- a/xorg-server/dix/events.c +++ b/xorg-server/dix/events.c @@ -1673,7 +1673,7 @@ AllowSome(ClientPtr client, thisGrabbed = grabinfo->grab && SameClient(grabinfo->grab, client); thisSynced = FALSE; otherGrabbed = FALSE; - othersFrozen = TRUE; + othersFrozen = FALSE; grabTime = grabinfo->grabTime; for (dev = inputInfo.devices; dev; dev = dev->next) { @@ -1689,11 +1689,9 @@ AllowSome(ClientPtr client, otherGrabbed = TRUE; if (grabinfo->sync.other == devgrabinfo->grab) thisSynced = TRUE; - if (devgrabinfo->sync.state < FROZEN) - othersFrozen = FALSE; + if (devgrabinfo->sync.state >= FROZEN) + othersFrozen = TRUE; } - else if (!devgrabinfo->sync.other || !SameClient(devgrabinfo->sync.other, client)) - othersFrozen = FALSE; } if (!((thisGrabbed && grabinfo->sync.state >= FROZEN) || thisSynced)) return; |