Fix window being repositioned after hiding, then reshowing.

Fix wrong return in Show().


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett
2007-04-24 03:44:48 +00:00
parent da9714b5c8
commit 3c95c71037

View File

@@ -798,9 +798,15 @@ bool wxTopLevelWindowGTK::Show( bool show )
wxASSERT_MSG( (m_widget != NULL), wxT("invalid frame") ); wxASSERT_MSG( (m_widget != NULL), wxT("invalid frame") );
if (show == IsShown()) if (show == IsShown())
return true; return false;
if (show && !m_sizeSet) if (!show)
{
// make sure window has a non-default position, so when it is shown
// again, it won't be repositioned by WM as if it were a new window
gtk_window_move((GtkWindow*)m_widget, m_x, m_y);
}
else if (!m_sizeSet)
{ {
/* by calling GtkOnSize here, we don't have to call /* by calling GtkOnSize here, we don't have to call
either after showing the frame, which would entail either after showing the frame, which would entail
@@ -810,13 +816,7 @@ bool wxTopLevelWindowGTK::Show( bool show )
GtkOnSize(); GtkOnSize();
} }
// This seems no longer to be needed and the call return wxTopLevelWindowBase::Show(show);
// itself is deprecated.
//
//if (show)
// gtk_widget_set_uposition( m_widget, m_x, m_y );
return wxWindow::Show( show );
} }
void wxTopLevelWindowGTK::Raise() void wxTopLevelWindowGTK::Raise()