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:
@@ -138,7 +138,6 @@ protected:
|
|||||||
|
|
||||||
virtual void DoSetClientSize(int width, int height);
|
virtual void DoSetClientSize(int width, int height);
|
||||||
virtual void DoGetClientSize(int *width, int *height) const;
|
virtual void DoGetClientSize(int *width, int *height) const;
|
||||||
virtual wxSize DoGetBestSize() const;
|
|
||||||
|
|
||||||
// string shown in the title bar
|
// string shown in the title bar
|
||||||
wxString m_title;
|
wxString m_title;
|
||||||
|
@@ -381,7 +381,9 @@ gtk_frame_unmap_callback( GtkWidget * WXUNUSED(widget),
|
|||||||
GdkEvent * WXUNUSED(event),
|
GdkEvent * WXUNUSED(event),
|
||||||
wxTopLevelWindow *win )
|
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
|
void wxTopLevelWindowGTK::DoGetClientSize( int *width, int *height ) const
|
||||||
{
|
{
|
||||||
wxASSERT_MSG(m_widget, wxT("invalid frame"));
|
wxASSERT_MSG(m_widget, wxT("invalid frame"));
|
||||||
|
Reference in New Issue
Block a user