summaryrefslogtreecommitdiff
path: root/gdk/mir
diff options
context:
space:
mode:
authorWilliam Hua <william@attente.ca>2015-02-04 10:32:29 +0100
committerWilliam Hua <william@attente.ca>2015-02-05 17:26:19 +0100
commit0a64a4f3c0bb3af4920f0dbcf48345a3ae7fb866 (patch)
tree2a3dcbdf62d73231a969fc12df3ede0c2b4f3251 /gdk/mir
parent85c5f6058a01805d63a498b5f28d6a9daab3f7e1 (diff)
downloadgtk+-0a64a4f3c0bb3af4920f0dbcf48345a3ae7fb866.tar.gz
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.
Diffstat (limited to 'gdk/mir')
-rw-r--r--gdk/mir/gdkmirwindowimpl.c7
1 files 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. */