X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0d65f8d20fee39040d05dd546a1d4a935990acd3..769c3372a2bd68c45d1a4afc8462d3b7939decb1:/src/osx/nonownedwnd_osx.cpp diff --git a/src/osx/nonownedwnd_osx.cpp b/src/osx/nonownedwnd_osx.cpp index 5ed6cdf443..c3f981a100 100644 --- a/src/osx/nonownedwnd_osx.cpp +++ b/src/osx/nonownedwnd_osx.cpp @@ -144,7 +144,7 @@ bool wxNonOwnedWindow::Create(wxWindow *parent, name ); wxNonOwnedWindowImpl::Associate( m_nowpeer->GetWXWindow() , m_nowpeer ) ; - m_peer = wxWidgetImpl::CreateContentView(this); + SetPeer(wxWidgetImpl::CreateContentView(this)); DoSetWindowVariant( m_windowVariant ) ; @@ -177,7 +177,7 @@ void wxNonOwnedWindow::SubclassWin(WXWindow nativeWindow) m_nowpeer = wxNonOwnedWindowImpl::CreateNonOwnedWindow(this, GetParent(), nativeWindow ); m_isNativeWindowWrapper = true; wxNonOwnedWindowImpl::Associate( m_nowpeer->GetWXWindow() , m_nowpeer ) ; - m_peer = wxWidgetImpl::CreateContentView(this); + SetPeer(wxWidgetImpl::CreateContentView(this)); } void wxNonOwnedWindow::UnsubclassWin() @@ -189,7 +189,7 @@ void wxNonOwnedWindow::UnsubclassWin() wxNonOwnedWindowImpl::RemoveAssociations(m_nowpeer) ; wxDELETE(m_nowpeer); - wxDELETE(m_peer); + SetPeer(NULL); m_isNativeWindowWrapper = false; } @@ -467,8 +467,15 @@ void wxNonOwnedWindow::DoGetClientSize( int *width, int *height ) const return; int left, top, w, h; + // under iphone with a translucent status bar the m_nowpeer returns the + // inner area, while the content area extends under the translucent + // status bar, therefore we use the content view's area +#ifdef __WXOSX_IPHONE__ + GetPeer()->GetContentArea(left, top, w, h); +#else m_nowpeer->GetContentArea(left, top, w, h); - +#endif + if (width) *width = w ; if (height)