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.
master
Simon Ser 3 years ago committed by Simon Zeni
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);
wlr_buffer_unlock(state->buffer);
state->buffer = NULL;
if (next->buffer) { if (next->buffer) {
wlr_buffer_unlock(state->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…
Cancel
Save