aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--types/wlr_surface.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/types/wlr_surface.c b/types/wlr_surface.c
index cb65a208..71a09bb5 100644
--- a/types/wlr_surface.c
+++ b/types/wlr_surface.c
@@ -347,8 +347,13 @@ static void wlr_surface_commit_pending(struct wlr_surface *surface) {
int32_t oldw = surface->current->buffer_width;
int32_t oldh = surface->current->buffer_height;
+ bool null_buffer_commit =
+ (surface->pending->invalid & WLR_SURFACE_INVALID_BUFFER &&
+ surface->pending->buffer == NULL);
+
wlr_surface_move_state(surface, surface->pending, surface->current);
- if (!surface->current->buffer) {
+
+ if (null_buffer_commit) {
surface->texture->valid = false;
}