X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/655719367ac5e131d9642e5783f3ecf64d1a3385..2f35f36bbcde256c802a4e0871c3d74e39ee476c:/src/gtk1/toplevel.cpp diff --git a/src/gtk1/toplevel.cpp b/src/gtk1/toplevel.cpp index 04bb0b4ca0..b91b944750 100644 --- a/src/gtk1/toplevel.cpp +++ b/src/gtk1/toplevel.cpp @@ -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)) ||