X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b9d29922de1ec34073c0093d75a9ec05ac117012..dc497201eb08e3de1402480e2ab97a6405335ecb:/src/cocoa/stattext.mm diff --git a/src/cocoa/stattext.mm b/src/cocoa/stattext.mm index d77446dcc2..f45eab54e1 100644 --- a/src/cocoa/stattext.mm +++ b/src/cocoa/stattext.mm @@ -71,15 +71,19 @@ void wxStaticText::SetLabel(const wxString& label) [GetNSTextField() setStringValue:wxNSStringWithWxString(label)]; NSRect oldFrameRect = [GetNSTextField() frame]; NSView *superview = [GetNSTextField() superview]; - wxLogTrace(wxTRACE_COCOA_Window_Size, "wxStaticText::SetLabel Old Position: (%d,%d)", GetPosition().x, GetPosition().y); + wxLogTrace(wxTRACE_COCOA_Window_Size, wxT("wxStaticText::SetLabel Old Position: (%d,%d)"), GetPosition().x, GetPosition().y); [GetNSTextField() sizeToFit]; NSRect newFrameRect = [GetNSTextField() frame]; + // Ensure new size is an integer so GetSize returns valid data + newFrameRect.size.height = ceil(newFrameRect.size.height); + newFrameRect.size.width = ceil(newFrameRect.size.width); if(![superview isFlipped]) { newFrameRect.origin.y = oldFrameRect.origin.y + oldFrameRect.size.height - newFrameRect.size.height; - [GetNSTextField() setFrame:newFrameRect]; } - wxLogTrace(wxTRACE_COCOA_Window_Size, "wxStaticText::SetLabel New Position: (%d,%d)", GetPosition().x, GetPosition().y); + [GetNSTextField() setFrame:newFrameRect]; + // New origin (wx coords) should always match old origin + wxLogTrace(wxTRACE_COCOA_Window_Size, wxT("wxStaticText::SetLabel New Position: (%d,%d)"), GetPosition().x, GetPosition().y); [[GetNSTextField() superview] setNeedsDisplayInRect:oldFrameRect]; [[GetNSTextField() superview] setNeedsDisplayInRect:newFrameRect];