[gtk+] window: Unset transient parent in set_display()



commit b880296354e98db738fc038cbffe2c21869ffa07
Author: Benjamin Otte <otte redhat com>
Date:   Wed Nov 1 18:16:11 2017 +0100

    window: Unset transient parent in set_display()
    
    If somebody changes a window's display, the transient parent cannot
    stay if it's on a different display.

 gtk/gtkwindow.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index c9716a6..8aba4f8 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -9966,6 +9966,9 @@ gtk_window_set_display (GtkWindow  *window,
   if (_gtk_widget_get_realized (widget))
     gtk_widget_unrealize (widget);
 
+  if (priv->transient_parent && gtk_widget_get_display (GTK_WIDGET (priv->transient_parent)) != display)
+    gtk_window_set_transient_for (window, NULL);
+
   gtk_window_free_key_hash (window);
   priv->display = display;
 #ifdef GDK_WINDOWING_X11


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]