OSDN Git Service

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 668bedc..2b27314 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;
+   }
 }