summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/drm/i965/xlib/xlib_i965.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/winsys/drm/i965/xlib/xlib_i965.c')
-rw-r--r--src/gallium/winsys/drm/i965/xlib/xlib_i965.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/winsys/drm/i965/xlib/xlib_i965.c b/src/gallium/winsys/drm/i965/xlib/xlib_i965.c
index 4ce22a5a49..08fce4b20b 100644
--- a/src/gallium/winsys/drm/i965/xlib/xlib_i965.c
+++ b/src/gallium/winsys/drm/i965/xlib/xlib_i965.c
@@ -154,6 +154,12 @@ xlib_brw_bo_unreference( struct brw_winsys_buffer *buffer )
{
struct xlib_brw_buffer *buf = xlib_brw_buffer(buffer);
+ /* As a special favor in this call only, buffer is allowed to be
+ * NULL:
+ */
+ if (buffer == NULL)
+ return;
+
if (--buf->cheesy_refcount == 0) {
FREE(buffer);
}