summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Daenzer <daenzer@localhost.(none)>2007-09-14 15:51:00 +0100
committerMichel Daenzer <daenzer@localhost.(none)>2007-09-14 15:53:52 +0100
commitd59c95bfae0402813a6b9a1242cdd971624c127a (patch)
tree4fa29f91fdf0facd1c7fa75fa56edebf3f9cca29
parentc01a5ec3d63a2f414e2b6c5b31c80367943189b4 (diff)
intel_winsys: Fix intel_buffer_reference.
Correctly clear the pointer to the old buffer (not sure how this could build at all before...) and only reference the new one when its pointer is non-NULL.
-rw-r--r--src/mesa/drivers/dri/intel_winsys/intel_winsys_pipe.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/intel_winsys/intel_winsys_pipe.c b/src/mesa/drivers/dri/intel_winsys/intel_winsys_pipe.c
index 668bedcbda..2b2731446d 100644
--- a/src/mesa/drivers/dri/intel_winsys/intel_winsys_pipe.c
+++ b/src/mesa/drivers/dri/intel_winsys/intel_winsys_pipe.c
@@ -91,11 +91,13 @@ intel_buffer_reference(struct pipe_winsys *sws,
{
if (*ptr) {
driBOUnReference( dri_bo(*ptr) );
- *buf = NULL;
+ *ptr = NULL;
}
- driBOReference( dri_bo(buf) );
- *ptr = buf;
+ if (buf) {
+ driBOReference( dri_bo(buf) );
+ *ptr = buf;
+ }
}