X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/52802b07274af0595617ce37c871b71e3eb75189..021efd65100322b3c152cc1017cfb961664d30a4:/src/gtk/toplevel.cpp diff --git a/src/gtk/toplevel.cpp b/src/gtk/toplevel.cpp index e0118f9dea..2b7194d3eb 100644 --- a/src/gtk/toplevel.cpp +++ b/src/gtk/toplevel.cpp @@ -358,6 +358,8 @@ gtk_frame_map_callback( GtkWidget*, eventShow.SetEventObject(win); win->GetEventHandler()->ProcessEvent(eventShow); } + // restore focus-on-map setting in case ShowWithoutActivating() was called + gtk_window_set_focus_on_map(GTK_WINDOW(win->m_widget), true); return false; } } @@ -556,7 +558,7 @@ bool wxTopLevelWindowGTK::Create( wxWindow *parent, gtk_container_add( GTK_CONTAINER(m_widget), m_mainWidget ); // m_wxwindow is the client area - m_wxwindow = wxPizza::New(0,this); + m_wxwindow = wxPizza::New(); gtk_widget_show( m_wxwindow ); gtk_container_add( GTK_CONTAINER(m_mainWidget), m_wxwindow ); @@ -891,8 +893,11 @@ bool wxTopLevelWindowGTK::Show( bool show ) void wxTopLevelWindowGTK::ShowWithoutActivating() { - gtk_window_set_focus_on_map(GTK_WINDOW(m_widget), false); - Show(true); + if (!m_isShown) + { + gtk_window_set_focus_on_map(GTK_WINDOW(m_widget), false); + Show(true); + } } void wxTopLevelWindowGTK::Raise()