From 0a64a4f3c0bb3af4920f0dbcf48345a3ae7fb866 Mon Sep 17 00:00:00 2001 From: William Hua Date: Wed, 4 Feb 2015 10:32:29 +0100 Subject: [PATCH] mir: release surface before rendering parent We should remove the mir and cairo surface before rendering the transient_for, which will regenerate the cairo surface anyways. Otherwise, we end up releasing both, when we only really want to get rid of the mir surface. --- gdk/mir/gdkmirwindowimpl.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gdk/mir/gdkmirwindowimpl.c b/gdk/mir/gdkmirwindowimpl.c index 80b6e5667e..1d560483b7 100644 --- a/gdk/mir/gdkmirwindowimpl.c +++ b/gdk/mir/gdkmirwindowimpl.c @@ -919,13 +919,12 @@ gdk_mir_window_impl_set_transient_for (GdkWindow *window, window->x = impl->transient_x; window->y = impl->transient_y; + /* Remove surface if we had made one before this was set */ + ensure_no_surface (window); + /* Redraw onto parent */ redraw_transient (window); } - - /* Remove surface if we had made one before this was set */ - if (should_render_in_parent (window)) - ensure_no_surface (window); } /* TODO: Remove once we have proper transient window support. */