]> git.saurik.com Git - wxWidgets.git/commitdiff
better fix for #11803, don't set iconized state for hidden window
authorPaul Cornett <paulcor@bullseye.com>
Tue, 23 Mar 2010 17:58:03 +0000 (17:58 +0000)
committerPaul Cornett <paulcor@bullseye.com>
Tue, 23 Mar 2010 17:58:03 +0000 (17:58 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/gtk/toplevel.h
src/gtk/toplevel.cpp

index 40129f5def79c9bedcf2cb4ef3a3f8577a3f1b1d..12894ce7be890e52ad388f5bfaa49dfa793025cc 100644 (file)
@@ -138,7 +138,6 @@ protected:
 
     virtual void DoSetClientSize(int width, int height);
     virtual void DoGetClientSize(int *width, int *height) const;
 
     virtual void DoSetClientSize(int width, int height);
     virtual void DoGetClientSize(int *width, int *height) const;
-    virtual wxSize DoGetBestSize() const;
 
     // string shown in the title bar
     wxString m_title;
 
     // string shown in the title bar
     wxString m_title;
index 81c5430f1e6252668e007e4f236d0ad72051577e..5a77576b0a5e502426e33a55a69e94bb6b4ce52e 100644 (file)
@@ -381,7 +381,9 @@ gtk_frame_unmap_callback( GtkWidget * WXUNUSED(widget),
                           GdkEvent * WXUNUSED(event),
                           wxTopLevelWindow *win )
 {
                           GdkEvent * WXUNUSED(event),
                           wxTopLevelWindow *win )
 {
-    win->SetIconizeState(true);
+    // hiding the window doesn't count as minimizing it
+    if (win->IsShown())
+        win->SetIconizeState(true);
     return false;
 }
 }
     return false;
 }
 }
@@ -1012,17 +1014,6 @@ void wxTopLevelWindowGTK::DoSetClientSize(int width, int height)
     m_deferShowAllowed = false;
 }
 
     m_deferShowAllowed = false;
 }
 
-wxSize wxTopLevelWindowGTK::DoGetBestSize() const
-{
-    // temporarily turn off m_isIconized,
-    // so we get an accurate client size from DoGetClientSize
-    const bool save = m_isIconized;
-    const_cast<wxTopLevelWindowGTK*>(this)->m_isIconized = false;
-    const wxSize size = base_type::DoGetBestSize();
-    const_cast<wxTopLevelWindowGTK*>(this)->m_isIconized = save;
-    return size;
-}
-
 void wxTopLevelWindowGTK::DoGetClientSize( int *width, int *height ) const
 {
     wxASSERT_MSG(m_widget, wxT("invalid frame"));
 void wxTopLevelWindowGTK::DoGetClientSize( int *width, int *height ) const
 {
     wxASSERT_MSG(m_widget, wxT("invalid frame"));