changeset 1185:415c25f87d57

Fix for MDI support for GTK3. Haven't tested completely... but this seems to work now. Will revisit the Mac MDI if this is stable to see if we can remove MDI from deprecated.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Tue, 27 Sep 2011 19:21:29 +0000
parents 31a78c16c306
children ce83df520be0
files gtk3/dw.c
diffstat 1 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/gtk3/dw.c	Wed Sep 21 00:04:00 2011 +0000
+++ b/gtk3/dw.c	Tue Sep 27 19:21:29 2011 +0000
@@ -373,7 +373,6 @@
 
       mdi_type = g_type_register_static (GTK_TYPE_CONTAINER, "GtkMdi", &mdi_info, 0);
    }
-
    return mdi_type;
 }
 
@@ -624,6 +623,7 @@
    GtkMdi *mdi;
    GdkWindowAttr attributes;
    gint attributes_mask;
+   GdkWindow *thiswindow;
 
    mdi = GTK_MDI (widget);
 
@@ -647,9 +647,10 @@
    attributes.visual = gtk_widget_get_visual (widget);
 
    attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL;
-   gtk_widget_set_parent_window(widget, gdk_window_new (gtk_widget_get_parent_window(widget), &attributes, attributes_mask));
-
-   gtk_widget_set_style(widget, gtk_style_attach (gtk_widget_get_style(widget), gtk_widget_get_window(widget)));
+   thiswindow = gdk_window_new (gtk_widget_get_parent_window(widget), &attributes, attributes_mask);
+   gtk_widget_set_window(widget, thiswindow);
+   
+   gtk_widget_set_style(widget, gtk_style_attach (gtk_widget_get_style(widget), thiswindow));
 
    gdk_window_set_user_data (gtk_widget_get_window(widget), widget);