OSStatus err = m_peer->GetData<ControlFontStyleRec>( kControlEntireControl, kControlFontStyleTag, &controlFont );
verify_noerr( err );
- wxCFStringRef str( m_label, GetFont().GetEncoding() );
-
#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(" "),
+ GetFont().GetEncoding() );
+
err = GetThemeTextDimensions(
- (!m_label.empty() ? (CFStringRef)str : CFSTR(" ")),
+ (CFStringRef)str,
m_font.MacGetThemeFontID(), kThemeStateActive, false, &bounds, &baseline );
verify_noerr( err );
}
wxWidgetImplType* wxWidgetImpl::CreateStaticText( wxWindowMac* wxpeer,
wxWindowMac* parent,
- wxWindowID id,
- const wxString& label,
+ wxWindowID WXUNUSED(id),
+ const wxString& WXUNUSED(label),
const wxPoint& pos,
const wxSize& size,
long style,
- long extraStyle)
+ long WXUNUSED(extraStyle))
{
Rect bounds = wxMacGetBoundsForControl( wxpeer, pos, size );