support for plug-in unloading, closes #10836
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61701 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -66,14 +66,21 @@ wxSize wxButton::DoGetBestSize() const
|
|||||||
OSStatus err = m_peer->GetData<ControlFontStyleRec>( kControlEntireControl, kControlFontStyleTag, &controlFont );
|
OSStatus err = m_peer->GetData<ControlFontStyleRec>( kControlEntireControl, kControlFontStyleTag, &controlFont );
|
||||||
verify_noerr( err );
|
verify_noerr( err );
|
||||||
|
|
||||||
wxCFStringRef str( m_label, GetFont().GetEncoding() );
|
// 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() );
|
||||||
|
|
||||||
#if wxOSX_USE_ATSU_TEXT
|
#if wxOSX_USE_ATSU_TEXT
|
||||||
SInt16 baseline;
|
SInt16 baseline;
|
||||||
if ( m_font.MacGetThemeFontID() != kThemeCurrentPortFont )
|
if ( m_font.MacGetThemeFontID() != kThemeCurrentPortFont )
|
||||||
{
|
{
|
||||||
err = GetThemeTextDimensions(
|
err = GetThemeTextDimensions(
|
||||||
(!m_label.empty() ? (CFStringRef)str : CFSTR(" ")),
|
(CFStringRef)str,
|
||||||
m_font.MacGetThemeFontID(), kThemeStateActive, false, &bounds, &baseline );
|
m_font.MacGetThemeFontID(), kThemeStateActive, false, &bounds, &baseline );
|
||||||
verify_noerr( err );
|
verify_noerr( err );
|
||||||
}
|
}
|
||||||
|
@@ -65,14 +65,21 @@ wxSize wxStaticText::DoGetBestSize() const
|
|||||||
OSStatus err = m_peer->GetData<ControlFontStyleRec>( kControlEntireControl, kControlFontStyleTag, &controlFont );
|
OSStatus err = m_peer->GetData<ControlFontStyleRec>( kControlEntireControl, kControlFontStyleTag, &controlFont );
|
||||||
verify_noerr( err );
|
verify_noerr( err );
|
||||||
|
|
||||||
wxCFStringRef str( m_label, GetFont().GetEncoding() );
|
|
||||||
|
|
||||||
#if wxOSX_USE_ATSU_TEXT
|
#if wxOSX_USE_ATSU_TEXT
|
||||||
SInt16 baseline;
|
SInt16 baseline;
|
||||||
if ( m_font.MacGetThemeFontID() != kThemeCurrentPortFont )
|
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(" "),
|
||||||
|
GetFont().GetEncoding() );
|
||||||
|
|
||||||
err = GetThemeTextDimensions(
|
err = GetThemeTextDimensions(
|
||||||
(!m_label.empty() ? (CFStringRef)str : CFSTR(" ")),
|
(CFStringRef)str,
|
||||||
m_font.MacGetThemeFontID(), kThemeStateActive, false, &bounds, &baseline );
|
m_font.MacGetThemeFontID(), kThemeStateActive, false, &bounds, &baseline );
|
||||||
verify_noerr( err );
|
verify_noerr( err );
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user