aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--types/wlr_surface.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/types/wlr_surface.c b/types/wlr_surface.c
index 2058e21a..f8c1dbd5 100644
--- a/types/wlr_surface.c
+++ b/types/wlr_surface.c
@@ -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);
+ wlr_buffer_unlock(state->buffer);
+ state->buffer = NULL;
if (next->buffer) {
- wlr_buffer_unlock(state->buffer);
state->buffer = wlr_buffer_lock(next->buffer);
}
wlr_buffer_unlock(next->buffer);