diff options
author | marha <marha@users.sourceforge.net> | 2009-11-17 15:53:57 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2009-11-17 15:53:57 +0000 |
commit | 3fce787ffe938bb3e959ff0b3ec231e54d086c76 (patch) | |
tree | 198f537b43a34301bf781c67193c572f6743f925 /xorg-server/dix | |
parent | 236c69d6034b152598ce35abaf3559b0eaa89c12 (diff) | |
parent | 578938f1cdd5a06dd6fa28167d575ec980322a5d (diff) | |
download | vcxsrv-3fce787ffe938bb3e959ff0b3ec231e54d086c76.tar.gz vcxsrv-3fce787ffe938bb3e959ff0b3ec231e54d086c76.tar.bz2 vcxsrv-3fce787ffe938bb3e959ff0b3ec231e54d086c76.zip |
svn merge ^/branches/released
Diffstat (limited to 'xorg-server/dix')
-rw-r--r-- | xorg-server/dix/colormap.c | 8 | ||||
-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, 13 insertions, 16 deletions
diff --git a/xorg-server/dix/colormap.c b/xorg-server/dix/colormap.c index fd2843213..cd2101e4a 100644 --- a/xorg-server/dix/colormap.c +++ b/xorg-server/dix/colormap.c @@ -2709,11 +2709,11 @@ static void _colormap_find_resource(pointer value, XID id, ColormapPtr cmap = value;
int j;
+ if (pScreen != cmap->pScreen)
+ return;
+
j = cmap->pVisual - pScreen->visuals;
- /* Only remap if j is between 0 and the number of available visuals, otherwise the cmap
- does not correspond to the correct visual. */
- if (j>=0 && j<pScreen->numVisuals)
- cmap->pVisual = &visuals[j];
+ cmap->pVisual = &visuals[j];
}
/* something has realloced the visuals, instead of breaking
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 8f26bd618..7c6beacd2 100644 --- a/xorg-server/dix/events.c +++ b/xorg-server/dix/events.c @@ -1676,7 +1676,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) { @@ -1692,11 +1692,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; |