Insure that top level windows will be at least visible
when relying on default size. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24045 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -581,7 +581,7 @@ bool wxTopLevelWindowOS2::Create(
|
|||||||
, wxWindowID vId
|
, wxWindowID vId
|
||||||
, const wxString& rsTitle
|
, const wxString& rsTitle
|
||||||
, const wxPoint& rPos
|
, const wxPoint& rPos
|
||||||
, const wxSize& rSize
|
, const wxSize& rSizeOrig
|
||||||
, long lStyle
|
, long lStyle
|
||||||
, const wxString& rsName
|
, const wxString& rsName
|
||||||
)
|
)
|
||||||
@@ -593,6 +593,19 @@ bool wxTopLevelWindowOS2::Create(
|
|||||||
m_windowStyle = lStyle;
|
m_windowStyle = lStyle;
|
||||||
SetName(rsName);
|
SetName(rsName);
|
||||||
m_windowId = vId == -1 ? NewControlId() : vId;
|
m_windowId = vId == -1 ? NewControlId() : vId;
|
||||||
|
|
||||||
|
// always create a frame of some reasonable, even if arbitrary, size (at
|
||||||
|
// least for MSW compatibility)
|
||||||
|
wxSize rSize = rSizeOrig;
|
||||||
|
if ( rSize.x == -1 || rSize.y == -1 )
|
||||||
|
{
|
||||||
|
wxSize sizeDpy = wxGetDisplaySize();
|
||||||
|
if ( rSize.x == -1 )
|
||||||
|
rSize.x = sizeDpy.x / 3;
|
||||||
|
if ( rSize.y == -1 )
|
||||||
|
rSize.y = sizeDpy.y / 5;
|
||||||
|
}
|
||||||
|
|
||||||
wxTopLevelWindows.Append(this);
|
wxTopLevelWindows.Append(this);
|
||||||
if (pParent)
|
if (pParent)
|
||||||
pParent->AddChild(this);
|
pParent->AddChild(this);
|
||||||
|
Reference in New Issue
Block a user