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.
@@ -284,8 +284,9 @@ static void surface_state_move(struct wlr_surface_state *state,
surface_state_set_buffer(state, next->buffer_resource);
surface_state_reset_buffer(next);
- if (next->buffer) {
wlr_buffer_unlock(state->buffer);
+ state->buffer = NULL;
+ if (next->buffer) {
state->buffer = wlr_buffer_lock(next->buffer);
}
wlr_buffer_unlock(next->buffer);
