better fix for #11803, don't set iconized state for hidden window

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett 2010-03-23 17:58:03 +00:00
parent 3c7620f666
commit d26cb76b58
2 changed files with 3 additions and 13 deletions

View File

@ -138,7 +138,6 @@ protected:
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;

View File

@ -381,7 +381,9 @@ gtk_frame_unmap_callback( GtkWidget * WXUNUSED(widget),
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;
}
}
@ -1012,17 +1014,6 @@ void wxTopLevelWindowGTK::DoSetClientSize(int width, int height)
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"));