diff options
author | Pierre Willenbrock <pierre@pirsoft.de> | 2009-01-30 21:16:48 -0800 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2009-02-01 09:06:43 -0800 |
commit | 29b3b88dc744f4919c6709747ddb7baac47486c5 (patch) | |
tree | 739071828ceea64ae03a6b467d82df0207f3c8d7 | |
parent | 60bcdd687040db76490851d4b459284ce37020e0 (diff) |
Prevent double unref of glxdrawables
Found by valgrind. Bug #18917.
-rw-r--r-- | glx/glxcmds.c | 4 | ||||
-rw-r--r-- | hw/xfree86/modes/xf86Crtc.c | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/glx/glxcmds.c b/glx/glxcmds.c index af52672f1..33954ee64 100644 --- a/glx/glxcmds.c +++ b/glx/glxcmds.c @@ -146,6 +146,8 @@ __glXContextDestroy(__GLXcontext *context) __glXUnrefDrawable(context->drawPriv); if (context->readPriv) __glXUnrefDrawable(context->readPriv); + context->drawPriv = NULL; + context->readPriv = NULL; } __glXFlushContextCache(); } @@ -621,6 +623,8 @@ DoMakeCurrent(__GLXclientState *cl, __glXUnrefDrawable(prevglxc->drawPriv); if (prevglxc->readPriv) __glXUnrefDrawable(prevglxc->readPriv); + prevglxc->drawPriv = NULL; + prevglxc->readPriv = NULL; } } diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c index 30308ade4..40352b4fd 100644 --- a/hw/xfree86/modes/xf86Crtc.c +++ b/hw/xfree86/modes/xf86Crtc.c @@ -3159,9 +3159,6 @@ xf86_crtc_supports_gamma(ScrnInfoPtr pScrn) xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn); xf86CrtcPtr crtc; - if (!xf86_config) - return FALSE; - if (xf86_config->num_crtc == 0) return FALSE; crtc = xf86_config->crtc[0]; |