]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/toplevel.cpp
fixed setting of initial font under wxGTK2
[wxWidgets.git] / src / gtk1 / toplevel.cpp
index 04bb0b4ca0d624548e1ff8c33f7542255f391ef0..b91b944750fc2eb70e8e13aa2e8749b8129c6714 100644 (file)
@@ -345,22 +345,27 @@ bool wxTopLevelWindowGTK::Create( wxWindow *parent,
 
     m_insertCallback = (wxInsertChildFunction) wxInsertChildInTopLevelWindow;
 
-    GtkWindowType win_type = GTK_WINDOW_TOPLEVEL;
+    // NB: m_widget may be !=NULL if it was created by derived class' Create,
+    //     e.g. in wxTaskBarIconAreaGTK
+    if (m_widget == NULL)
+    {
+        GtkWindowType win_type = GTK_WINDOW_TOPLEVEL;
 
-    if (style & wxFRAME_TOOL_WINDOW)
-        win_type = GTK_WINDOW_POPUP;
+        if (style & wxFRAME_TOOL_WINDOW)
+            win_type = GTK_WINDOW_POPUP;
 
-    if (GetExtraStyle() & wxTOPLEVEL_EX_DIALOG)
-    {
-        // there is no more GTK_WINDOW_DIALOG in 2.0
+        if (GetExtraStyle() & wxTOPLEVEL_EX_DIALOG)
+        {
+            // there is no more GTK_WINDOW_DIALOG in 2.0
 #ifdef __WXGTK20__
-        win_type = GTK_WINDOW_TOPLEVEL;
+            win_type = GTK_WINDOW_TOPLEVEL;
 #else
-        win_type = GTK_WINDOW_DIALOG;
+            win_type = GTK_WINDOW_DIALOG;
 #endif
-    }
+        }
 
-    m_widget = gtk_window_new( win_type );
+        m_widget = gtk_window_new( win_type );
+    }
 
     if (m_parent && (((GTK_IS_WINDOW(m_parent->m_widget)) &&
                      (GetExtraStyle() & wxTOPLEVEL_EX_DIALOG)) ||