summaryrefslogtreecommitdiff
path: root/gtk/gtkwindow.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2005-08-31 04:41:45 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2005-08-31 04:41:45 +0000
commit05d3aa82d75da6260aba3233d3dcf72218c4cef8 (patch)
tree5b6eab65360d34d6f6a99e19289348c9bcf37b72 /gtk/gtkwindow.c
parent278873e4b7ccb8356f99cfa5ab433daf76668dac (diff)
downloadgtk+-05d3aa82d75da6260aba3233d3dcf72218c4cef8.tar.gz
Inherit window groups across transient parents. (#312918, Christian
2005-08-31 Matthias Clasen <mclasen@redhat.com> * gtk/gtkwindow.c (gtk_window_set_transient_for): Inherit window groups across transient parents. (#312918, Christian Persch)
Diffstat (limited to 'gtk/gtkwindow.c')
-rw-r--r--gtk/gtkwindow.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index b318a99b64..43c8ef7639 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -1843,6 +1843,10 @@ gtk_window_unset_transient_for (GtkWindow *window)
{
if (window->transient_parent)
{
+ if (window->transient_parent->group)
+ gtk_window_group_remove_window (window->transient_parent->group,
+ window);
+
g_signal_handlers_disconnect_by_func (window->transient_parent,
gtk_window_transient_parent_realized,
window);
@@ -1927,6 +1931,9 @@ gtk_window_set_transient_for (GtkWindow *window,
GTK_WIDGET_REALIZED (parent))
gtk_window_transient_parent_realized (GTK_WIDGET (parent),
GTK_WIDGET (window));
+
+ if (parent->group)
+ gtk_window_group_add_window (parent->group, window);
}
}