X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/542e68c71931c7a83b75a0f1db4558f5c8fdb570..9f7948af90ec2e3b907944e7d979f0863910c5c8:/src/os2/toplevel.cpp diff --git a/src/os2/toplevel.cpp b/src/os2/toplevel.cpp index 3d292873a0..c3bea8a366 100644 --- a/src/os2/toplevel.cpp +++ b/src/os2/toplevel.cpp @@ -501,7 +501,7 @@ bool wxTopLevelWindowOS2::CreateFrame( { vError = ::WinGetLastError(vHabmain); sError = wxPMErrorToStr(vError); - wxLogError("Error creating frame. Error: %s\n", sError); + wxLogError("Error creating frame. Error: %s\n", sError.c_str()); return FALSE; } @@ -525,7 +525,7 @@ bool wxTopLevelWindowOS2::CreateFrame( { vError = ::WinGetLastError(vHabmain); sError = wxPMErrorToStr(vError); - wxLogError("Error creating frame. Error: %s\n", sError); + wxLogError("Error creating frame. Error: %s\n", sError.c_str()); return FALSE; } @@ -562,7 +562,7 @@ bool wxTopLevelWindowOS2::CreateFrame( { vError = ::WinGetLastError(vHabmain); sError = wxPMErrorToStr(vError); - wxLogError("Error sizing frame. Error: %s\n", sError); + wxLogError("Error sizing frame. Error: %s\n", sError.c_str()); return FALSE; } lStyle = ::WinQueryWindowULong( m_hWnd @@ -581,7 +581,7 @@ bool wxTopLevelWindowOS2::Create( , wxWindowID vId , const wxString& rsTitle , const wxPoint& rPos -, const wxSize& rSize +, const wxSize& rSizeOrig , long lStyle , const wxString& rsName ) @@ -593,6 +593,19 @@ bool wxTopLevelWindowOS2::Create( m_windowStyle = lStyle; SetName(rsName); 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); if (pParent) pParent->AddChild(this);