surface: ensure buffer is reset to NULL in surface_state_move
When surface_state_move processes a NULL commit, make sure to reset state->buffer to NULL instead of leaving behind an old wlr_buffer.
This commit is contained in:
parent
0fe3b45361
commit
0978a702d7
|
@ -284,8 +284,9 @@ static void surface_state_move(struct wlr_surface_state *state,
|
||||||
surface_state_set_buffer(state, next->buffer_resource);
|
surface_state_set_buffer(state, next->buffer_resource);
|
||||||
surface_state_reset_buffer(next);
|
surface_state_reset_buffer(next);
|
||||||
|
|
||||||
if (next->buffer) {
|
|
||||||
wlr_buffer_unlock(state->buffer);
|
wlr_buffer_unlock(state->buffer);
|
||||||
|
state->buffer = NULL;
|
||||||
|
if (next->buffer) {
|
||||||
state->buffer = wlr_buffer_lock(next->buffer);
|
state->buffer = wlr_buffer_lock(next->buffer);
|
||||||
}
|
}
|
||||||
wlr_buffer_unlock(next->buffer);
|
wlr_buffer_unlock(next->buffer);
|
||||||
|
|
Loading…
Reference in New Issue