summaryrefslogtreecommitdiff
path: root/xserver/randr/rrcrtc.c
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu.herrb@laas.fr>2013-02-24 15:45:52 +0100
committerMatthieu Herrb <matthieu.herrb@laas.fr>2013-02-24 15:49:36 +0100
commit3c7d5a1f6c188eed12275ff6884a6d8fd1669ffd (patch)
tree5b72ec229f01b3cccf52935a3c9eb7998addced6 /xserver/randr/rrcrtc.c
parentbf92adb413c678cf9583c52c3ba70eb470aa5164 (diff)
Merge server-1.13.3rc1 branch from X.Org.
up to e604b19fc54fee839bbe2d66930b36108ff03950
Diffstat (limited to 'xserver/randr/rrcrtc.c')
-rw-r--r--xserver/randr/rrcrtc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/xserver/randr/rrcrtc.c b/xserver/randr/rrcrtc.c
index e82d050e3..6e2eca5ad 100644
--- a/xserver/randr/rrcrtc.c
+++ b/xserver/randr/rrcrtc.c
@@ -372,6 +372,11 @@ RRCrtcDetachScanoutPixmap(RRCrtcPtr crtc)
ret = pScrPriv->rrCrtcSetScanoutPixmap(crtc, NULL);
if (crtc->scanout_pixmap) {
master->StopPixmapTracking(mscreenpix, crtc->scanout_pixmap);
+ /*
+ * Unref the pixmap twice: once for the original reference, and once
+ * for the reference implicitly added by PixmapShareToSlave.
+ */
+ master->DestroyPixmap(crtc->scanout_pixmap->master_pixmap);
master->DestroyPixmap(crtc->scanout_pixmap->master_pixmap);
crtc->pScreen->DestroyPixmap(crtc->scanout_pixmap);
}