mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-03-29 10:10:39 +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>
(cherry picked from commit ceb313f277)
This commit is contained in:
parent
341e47815e
commit
fbece01284
1 changed files with 10 additions and 6 deletions
|
|
@ -1722,19 +1722,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