diff options
author | marha <marha@users.sourceforge.net> | 2010-01-05 08:37:48 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-01-05 08:37:48 +0000 |
commit | 163827567b71b0763a4c1a7104159cd08b5c2d95 (patch) | |
tree | 5158d07a1dfd37cebcea701f260fe8908bfe261d /xorg-server | |
parent | 33a317f48eb3fe888177235ee49b635fbb8cda2f (diff) | |
download | vcxsrv-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.c | 6 | ||||
-rw-r--r-- | xorg-server/exa/exa_accel.c | 11 |
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) |