static gboolean gtk_frame_map_callback( GtkWidget*, GdkEvent * WXUNUSED(event), wxTopLevelWindow *win ) { const bool wasIconized = win->IsIconized(); if (wasIconized) { // Because GetClientSize() returns (0,0) when IsIconized() is true, // a size event must be generated, just in case GetClientSize() was // called while iconized. This specifically happens when restoring a // tlw that was "rolled up" with some WMs. // Queue a resize rather than sending size event directly to allow // children to be made visible first. win->m_useCachedClientSize = false; win->m_clientWidth = 0; gtk_widget_queue_resize(win->m_wxwindow); } // it is possible for m_isShown to be false here, see bug #9909 if (win->wxWindowBase::Show(true)) { wxShowEvent eventShow(win->GetId(), true); 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; }
static gboolean gtk_frame_map_callback( GtkWidget * WXUNUSED(widget), GdkEvent * WXUNUSED(event), wxTopLevelWindow *win ) { win->SetIconizeState(false); // it is possible for m_isShown to be false here, see bug #9909 if (win->wxWindowBase::Show(true)) { wxShowEvent eventShow(win->GetId(), true); eventShow.SetEventObject(win); win->GetEventHandler()->ProcessEvent(eventShow); } return false; }