diff options
-rw-r--r-- | types/wlr_surface.c | 7 |
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; } |