aboutsummaryrefslogtreecommitdiff
path: root/xorg-server
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-01-05 08:37:48 +0000
committermarha <marha@users.sourceforge.net>2010-01-05 08:37:48 +0000
commit163827567b71b0763a4c1a7104159cd08b5c2d95 (patch)
tree5158d07a1dfd37cebcea701f260fe8908bfe261d /xorg-server
parent33a317f48eb3fe888177235ee49b635fbb8cda2f (diff)
downloadvcxsrv-163827567b71b0763a4c1a7104159cd08b5c2d95.tar.gz
vcxsrv-163827567b71b0763a4c1a7104159cd08b5c2d95.tar.bz2
vcxsrv-163827567b71b0763a4c1a7104159cd08b5c2d95.zip
Git update 5/1/2010
Diffstat (limited to 'xorg-server')
-rw-r--r--xorg-server/dix/devices.c6
-rw-r--r--xorg-server/exa/exa_accel.c11
2 files changed, 14 insertions, 3 deletions
diff --git a/xorg-server/dix/devices.c b/xorg-server/dix/devices.c
index 6329d2810..92b95ed69 100644
--- a/xorg-server/dix/devices.c
+++ b/xorg-server/dix/devices.c
@@ -842,6 +842,9 @@ CloseDevice(DeviceIntPtr dev)
if(dev->valuator && dev->valuator->accelScheme.AccelCleanupProc)
dev->valuator->accelScheme.AccelCleanupProc(dev);
+ while (dev->xkb_interest)
+ XkbRemoveResourceClient((DevicePtr)dev,dev->xkb_interest->resource);
+
xfree(dev->name);
classes = (ClassesPtr)&dev->key;
@@ -853,9 +856,6 @@ CloseDevice(DeviceIntPtr dev)
FreeAllDeviceClasses(classes);
}
- while (dev->xkb_interest)
- XkbRemoveResourceClient((DevicePtr)dev,dev->xkb_interest->resource);
-
if (DevHasCursor(dev) && dev->spriteInfo->sprite) {
xfree(dev->spriteInfo->sprite->spriteTrace);
xfree(dev->spriteInfo->sprite);
diff --git a/xorg-server/exa/exa_accel.c b/xorg-server/exa/exa_accel.c
index 4c55a4c54..4680c3709 100644
--- a/xorg-server/exa/exa_accel.c
+++ b/xorg-server/exa/exa_accel.c
@@ -172,6 +172,17 @@ exaDoPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y,
if (pExaScr->swappedOut)
return FALSE;
+ if (pExaScr->do_migration) {
+ ExaMigrationRec pixmaps[1];
+
+ pixmaps[0].as_dst = TRUE;
+ pixmaps[0].as_src = FALSE;
+ pixmaps[0].pPix = pPix;
+ pixmaps[0].pReg = DamagePendingRegion(pExaPixmap->pDamage);
+
+ exaDoMigration (pixmaps, 1, TRUE);
+ }
+
pPix = exaGetOffscreenPixmap (pDrawable, &xoff, &yoff);
if (!pPix)