fix invalid usage of buffer_unreference()
Need to pass the address of the buffer ptr, not the buffer ptr. Before, the region->buffer type was void * so it wasn't effectively type-checked. Changing the type to pipe_buffer_object* allows the compiler to detect the error. Fixing this solves a segfault.
This commit is contained in:
@@ -124,7 +124,7 @@ i915_region_release(struct pipe_context *pipe, struct pipe_region **region)
|
||||
assert((*region)->map_refcount == 0);
|
||||
|
||||
i915->pipe.winsys->buffer_unreference( i915->pipe.winsys,
|
||||
(*region)->buffer );
|
||||
&((*region)->buffer) );
|
||||
free(*region);
|
||||
}
|
||||
*region = NULL;
|
||||
|
||||
@@ -119,7 +119,7 @@ sp_region_release(struct pipe_context *pipe, struct pipe_region **region)
|
||||
assert((*region)->map_refcount == 0);
|
||||
|
||||
sp->pipe.winsys->buffer_unreference( sp->pipe.winsys,
|
||||
(*region)->buffer );
|
||||
&((*region)->buffer) );
|
||||
free(*region);
|
||||
}
|
||||
*region = NULL;
|
||||
|
||||
Reference in New Issue
Block a user