compositor: add wlr_surface.unmap_commit

This flag can be used to figure out whether a particular commit has
unmapped the surface. Private state for now in case we find a better
way to track this.
This commit is contained in:
Kirill Primak 2023-10-07 13:17:34 +03:00 committed by Simon Ser
parent e1c2671725
commit 4d2e310122
2 changed files with 5 additions and 0 deletions

View file

@ -211,6 +211,8 @@ struct wlr_surface {
int buffer_width, buffer_height;
} previous;
bool unmap_commit;
bool opaque;
bool has_buffer;

View file

@ -439,7 +439,10 @@ static void surface_commit_state(struct wlr_surface *surface,
bool invalid_buffer = next->committed & WLR_SURFACE_STATE_BUFFER;
if (invalid_buffer && next->buffer == NULL) {
surface->unmap_commit = surface->mapped;
wlr_surface_unmap(surface);
} else {
surface->unmap_commit = false;
}
surface_update_damage(&surface->buffer_damage, &surface->current, next);