summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Reveman <davidr@novell.com>2008-11-11 17:03:28 -0500
committerDavid Reveman <davidr@novell.com>2008-11-11 17:03:28 -0500
commit9fd9c35af06182d802b31936cc89e334fd85b56d (patch)
treeef410305a707c4319f0d6224077028c6a1622d93
parent893d5ddda929e323f82f211147390fb153eff52b (diff)
Release randr mode references properly.
-rw-r--r--hw/dmx/dmxrandr.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/hw/dmx/dmxrandr.c b/hw/dmx/dmxrandr.c
index 41e7624f4..f0b69fb58 100644
--- a/hw/dmx/dmxrandr.c
+++ b/hw/dmx/dmxrandr.c
@@ -225,7 +225,12 @@ dmxRRUpdateCrtc (ScreenPtr pScreen,
XLIB_EPILOGUE (dmxScreen);
if (!gamma)
+ {
+ if (mode)
+ RRModeDestroy (mode);
+
return FALSE;
+ }
RRCrtcGammaSet (crtc, gamma->red, gamma->green, gamma->blue);
@@ -236,6 +241,9 @@ dmxRRUpdateCrtc (ScreenPtr pScreen,
if (outputs)
xfree (outputs);
+ if (mode)
+ RRModeDestroy (mode);
+
XRRFreeCrtcInfo (c);
return TRUE;
@@ -634,6 +642,9 @@ dmxRRGetInfo (ScreenPtr pScreen,
dmxScreen->rootX, dmxScreen->rootY,
RR_Rotate_0, 1,
&pScrPriv->outputs[baseOutput]);
+
+ if (mode)
+ RRModeDestroy (mode);
}
else
{