mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-03-29 20:40:36 +02:00
xwayland: Update surface window from xwl_unrealize_window
Signed-off-by: Michel Dänzer <mdaenzer@redhat.com> Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2135>
This commit is contained in:
parent
e8f4522312
commit
ceb313f277
1 changed files with 10 additions and 6 deletions
|
|
@ -1779,19 +1779,23 @@ xwl_unrealize_window(WindowPtr window)
|
|||
{
|
||||
ScreenPtr screen = window->drawable.pScreen;
|
||||
struct xwl_screen *xwl_screen = xwl_screen_get(screen);
|
||||
struct xwl_window *xwl_window = xwl_window_get(window);
|
||||
struct xwl_window *xwl_window = xwl_window_from_window(window);
|
||||
Bool ret;
|
||||
|
||||
if (xwl_window) {
|
||||
unregister_damage(xwl_window);
|
||||
xwl_window_dispose(xwl_window);
|
||||
}
|
||||
|
||||
screen->UnrealizeWindow = xwl_screen->UnrealizeWindow;
|
||||
ret = (*screen->UnrealizeWindow) (window);
|
||||
xwl_screen->UnrealizeWindow = screen->UnrealizeWindow;
|
||||
screen->UnrealizeWindow = xwl_unrealize_window;
|
||||
|
||||
if (xwl_window) {
|
||||
if (window == xwl_window->toplevel) {
|
||||
unregister_damage(xwl_window);
|
||||
xwl_window_dispose(xwl_window);
|
||||
} else if (window == xwl_window->surface_window) {
|
||||
xwl_window_update_surface_window(xwl_window);
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue