intel_winsys: Fix intel_buffer_reference.
authorMichel Daenzer <daenzer@localhost.(none)>
Fri, 14 Sep 2007 14:51:00 +0000 (15:51 +0100)
committerMichel Daenzer <daenzer@localhost.(none)>
Fri, 14 Sep 2007 14:53:52 +0000 (15:53 +0100)
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.

src/mesa/drivers/dri/intel_winsys/intel_winsys_pipe.c

index 668bedcbdab0e2257a3dd74ca93519228ada9be2..2b2731446d20423604fcb06b41abc5c1e5b9fed1 100644 (file)
@@ -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;
+   }
 }