don't call ::ShowWindow() if don't have HWND yet
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -704,12 +704,23 @@ bool wxWindowMSW::Show(bool show)
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
HWND hWnd = GetHwnd();
|
HWND hWnd = GetHwnd();
|
||||||
int cshow = show ? SW_SHOW : SW_HIDE;
|
|
||||||
::ShowWindow(hWnd, cshow);
|
|
||||||
|
|
||||||
if ( show && IsTopLevel() )
|
// we could be called before the underlying window is created (this is
|
||||||
|
// actually useful to prevent it from being initially shown), e.g.
|
||||||
|
//
|
||||||
|
// wxFoo *foo = new wxFoo;
|
||||||
|
// foo->Hide();
|
||||||
|
// foo->Create(parent, ...);
|
||||||
|
//
|
||||||
|
// should work without errors
|
||||||
|
if ( hWnd )
|
||||||
{
|
{
|
||||||
wxBringWindowToTop(hWnd);
|
::ShowWindow(hWnd, show ? SW_SHOW : SW_HIDE);
|
||||||
|
|
||||||
|
if ( show && IsTopLevel() )
|
||||||
|
{
|
||||||
|
wxBringWindowToTop(hWnd);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Reference in New Issue
Block a user