X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6fd21e1655c2c21679fa773925bf155de395e6d0..bb996f289574defb0ae4339ae8e46ff3cf6fa54c:/src/osx/carbon/stattext.cpp?ds=sidebyside diff --git a/src/osx/carbon/stattext.cpp b/src/osx/carbon/stattext.cpp index e51b2af2b1..67be74dbb4 100644 --- a/src/osx/carbon/stattext.cpp +++ b/src/osx/carbon/stattext.cpp @@ -48,10 +48,11 @@ wxSize wxStaticText::DoGetBestSize() const Rect bestsize = { 0 , 0 , 0 , 0 } ; // try the built-in best size if available - Boolean former = m_peer->GetData( kControlStaticTextIsMultilineTag); - m_peer->SetData( kControlStaticTextIsMultilineTag, (Boolean)0 ); - m_peer->GetBestRect( &bestsize ) ; - m_peer->SetData( kControlStaticTextIsMultilineTag, former ); + Boolean former = GetPeer()->GetData( kControlStaticTextIsMultilineTag); + GetPeer()->SetData( kControlStaticTextIsMultilineTag, (Boolean)0 ); + GetPeer()->GetBestRect( &bestsize ) ; + GetPeer()->SetData( kControlStaticTextIsMultilineTag, former ); + if ( !EmptyRect( &bestsize ) ) { bounds.h = bestsize.right - bestsize.left ; @@ -62,22 +63,22 @@ wxSize wxStaticText::DoGetBestSize() const { #if wxOSX_USE_CARBON ControlFontStyleRec controlFont; - OSStatus err = m_peer->GetData( kControlEntireControl, kControlFontStyleTag, &controlFont ); + OSStatus err = GetPeer()->GetData( kControlEntireControl, kControlFontStyleTag, &controlFont ); verify_noerr( err ); #if wxOSX_USE_ATSU_TEXT SInt16 baseline; if ( m_font.MacGetThemeFontID() != kThemeCurrentPortFont ) { - // GetThemeTextDimensions will cache strings and the documentation - // says not to use the NoCopy string creation calls. - // This also means that we can't use CFSTR without - // -fno-constant-cfstrings if the library might be unloaded, - // as GetThemeTextDimensions may cache a pointer to our - // unloaded segment. - wxCFStringRef str( !m_label.empty() ? m_label : wxString(" "), + // GetThemeTextDimensions will cache strings and the documentation + // says not to use the NoCopy string creation calls. + // This also means that we can't use CFSTR without + // -fno-constant-cfstrings if the library might be unloaded, + // as GetThemeTextDimensions may cache a pointer to our + // unloaded segment. + wxCFStringRef str( !m_label.empty() ? m_label : wxString(" "), GetFont().GetEncoding() ); - + err = GetThemeTextDimensions( (CFStringRef)str, m_font.MacGetThemeFontID(), kThemeStateActive, false, &bounds, &baseline );