diff options
-rw-r--r-- | damageext/damageext.c | 1 | ||||
-rw-r--r-- | dix/pixmap.c | 1 | ||||
-rw-r--r-- | exa/exa_classic.c | 1 | ||||
-rw-r--r-- | exa/exa_migration_mixed.c | 1 | ||||
-rw-r--r-- | exa/exa_mixed.c | 2 | ||||
-rw-r--r-- | hw/kdrive/ephyr/ephyr.c | 3 | ||||
-rw-r--r-- | miext/damage/damage.c | 4 |
7 files changed, 3 insertions, 10 deletions
diff --git a/damageext/damageext.c b/damageext/damageext.c index e02a28f44..db0a75315 100644 --- a/damageext/damageext.c +++ b/damageext/damageext.c @@ -429,7 +429,6 @@ FreeDamageExt(pointer value, XID did) */ pDamageExt->id = 0; if (pDamageExt->pDamage) { - DamageUnregister(pDamageExt->pDrawable, pDamageExt->pDamage); DamageDestroy(pDamageExt->pDamage); } free(pDamageExt); diff --git a/dix/pixmap.c b/dix/pixmap.c index fe9214739..d5dc3831b 100644 --- a/dix/pixmap.c +++ b/dix/pixmap.c @@ -202,7 +202,6 @@ PixmapStopDirtyTracking(PixmapPtr src, PixmapPtr slave_dst) xorg_list_for_each_entry_safe(ent, safe, &screen->pixmap_dirty_list, ent) { if (ent->src == src && ent->slave_dst == slave_dst) { - DamageUnregister(&src->drawable, ent->damage); DamageDestroy(ent->damage); xorg_list_del(&ent->ent); free(ent); diff --git a/exa/exa_classic.c b/exa/exa_classic.c index 1fa534bc6..0fa422fcd 100644 --- a/exa/exa_classic.c +++ b/exa/exa_classic.c @@ -192,7 +192,6 @@ exaModifyPixmapHeader_classic(PixmapPtr pPixmap, int width, int height, * gpu memory, so there's no need to track damage. */ if (pExaPixmap->pDamage) { - DamageUnregister(&pPixmap->drawable, pExaPixmap->pDamage); DamageDestroy(pExaPixmap->pDamage); pExaPixmap->pDamage = NULL; } diff --git a/exa/exa_migration_mixed.c b/exa/exa_migration_mixed.c index 445c4fcbf..5e0bf152a 100644 --- a/exa/exa_migration_mixed.c +++ b/exa/exa_migration_mixed.c @@ -190,7 +190,6 @@ exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, RegionPtr pReg) * copy anymore. Drivers that prefer DFS, should fail prepare * access. */ - DamageUnregister(&pPixmap->drawable, pExaPixmap->pDamage); DamageDestroy(pExaPixmap->pDamage); pExaPixmap->pDamage = NULL; diff --git a/exa/exa_mixed.c b/exa/exa_mixed.c index 0fb409102..3e2dcf263 100644 --- a/exa/exa_mixed.c +++ b/exa/exa_mixed.c @@ -139,7 +139,6 @@ exaModifyPixmapHeader_mixed(PixmapPtr pPixmap, int width, int height, int depth, if (pPixData) { if (pExaPixmap->driverPriv) { if (pExaPixmap->pDamage) { - DamageUnregister(&pPixmap->drawable, pExaPixmap->pDamage); DamageDestroy(pExaPixmap->pDamage); pExaPixmap->pDamage = NULL; } @@ -189,7 +188,6 @@ exaModifyPixmapHeader_mixed(PixmapPtr pPixmap, int width, int height, int depth, if (pExaPixmap->sys_ptr) { free(pExaPixmap->sys_ptr); pExaPixmap->sys_ptr = NULL; - DamageUnregister(&pPixmap->drawable, pExaPixmap->pDamage); DamageDestroy(pExaPixmap->pDamage); pExaPixmap->pDamage = NULL; RegionEmpty(&pExaPixmap->validSys); diff --git a/hw/kdrive/ephyr/ephyr.c b/hw/kdrive/ephyr/ephyr.c index 0ee2cf34f..db08e98af 100644 --- a/hw/kdrive/ephyr/ephyr.c +++ b/hw/kdrive/ephyr/ephyr.c @@ -389,10 +389,7 @@ ephyrUnsetInternalDamage(ScreenPtr pScreen) KdScreenPriv(pScreen); KdScreenInfo *screen = pScreenPriv->screen; EphyrScrPriv *scrpriv = screen->driver; - PixmapPtr pPixmap = NULL; - pPixmap = (*pScreen->GetScreenPixmap) (pScreen); - DamageUnregister(&pPixmap->drawable, scrpriv->pDamage); DamageDestroy(scrpriv->pDamage); RemoveBlockAndWakeupHandlers(ephyrInternalDamageBlockHandler, diff --git a/miext/damage/damage.c b/miext/damage/damage.c index a98c20ec0..cf4b61a20 100644 --- a/miext/damage/damage.c +++ b/miext/damage/damage.c @@ -1637,7 +1637,6 @@ damageDestroyWindow(WindowPtr pWindow) damageScrPriv(pScreen); while ((pDamage = damageGetWinPriv(pWindow))) { - DamageUnregister(&pWindow->drawable, pDamage); DamageDestroy(pDamage); } unwrap(pScrPriv, pScreen, DestroyWindow); @@ -1888,6 +1887,9 @@ DamageDestroy(DamagePtr pDamage) damageScrPriv(pScreen); + if (pDamage->pDrawable) + DamageUnregister(pDamage->pDrawable, pDamage); + if (pDamage->damageDestroy) (*pDamage->damageDestroy) (pDamage, pDamage->closure); (*pScrPriv->funcs.Destroy) (pDamage); |