summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/radeon
diff options
context:
space:
mode:
authorJerome Glisse <glisse@freedesktop.org>2008-11-16 17:58:43 +0100
committerJerome Glisse <glisse@freedesktop.org>2008-11-16 17:58:43 +0100
commitf1d98e51275eaa440e1c6b9c61e5e014faaad45a (patch)
tree5474fa3291f13f1aa6130a21e5e0c4e1a8de4956 /src/mesa/drivers/dri/radeon
parent56c458e0f2027bc19b45ed3112e84b6ace67920f (diff)
radeon: fix pointer dangling
Diffstat (limited to 'src/mesa/drivers/dri/radeon')
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_screen.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c
index 79cc4c8c8e..9b5f2201b2 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.c
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
@@ -1179,6 +1179,7 @@ radeon_create_renderbuffer(GLenum format, __DRIdrawablePrivate *driDrawPriv)
radeonSetSpanFunctions(ret);
+ ret->bo = NULL;
return ret;
}
@@ -1365,14 +1366,17 @@ radeonDestroyBuffer(__DRIdrawablePrivate *driDrawPriv)
rb = (void *)fb->Attachment[BUFFER_FRONT_LEFT].Renderbuffer;
if (rb && rb->bo) {
radeon_bo_unref(rb->bo);
+ rb->bo = NULL;
}
rb = (void *)fb->Attachment[BUFFER_BACK_LEFT].Renderbuffer;
if (rb && rb->bo) {
radeon_bo_unref(rb->bo);
+ rb->bo = NULL;
}
rb = (void *)fb->Attachment[BUFFER_DEPTH].Renderbuffer;
if (rb && rb->bo) {
radeon_bo_unref(rb->bo);
+ rb->bo = NULL;
}
_mesa_unreference_framebuffer((GLframebuffer **)(&(driDrawPriv->driverPrivate)));
}