diff options
author | Kirill Primak <vyivel@eclair.cafe> | 2023-10-14 19:58:01 +0300 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2023-10-26 14:57:10 +0000 |
commit | f750c7445d37e58749e6d4ce7b4ce587f2231cc6 (patch) | |
tree | b75993d9f1682e9912d07bcadc65ca59efea0d69 /protocol | |
parent | 4d2e31012207a56b3345039ecd2637fe46654993 (diff) |
layer-shell: don't use wlr_surface_role.unmap hook
A layer-shell surface can be unmapped if wlr_layer_shell_v1 is
destroyed or the client has committed a NULL buffer. Let's use the
previously introduced wlr_surface.unmap_commit to handle the latter
case instead; this is more consistent with the xdg_surface
implementation logic, where using the hook is more trouble than it's
worth.
Additionally, this commit adds an unconditional surface reset on
destroy, so popups are properly cleaned up even if originally created
with an unmapped layer-shell surface as a parent. Doing so with the
role unmap hook would either result in possibly resetting the surface
twice, which is suboptimal, or having an awkward
`if (mapped) { unmap() } else { reset() }` check.
Diffstat (limited to 'protocol')
0 files changed, 0 insertions, 0 deletions