X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7c5a378ff21de766bab2fd76293be1008610afc2..d94de683a60b20153591cc3f8f52a97cf9ce9453:/src/cocoa/control.mm diff --git a/src/cocoa/control.mm b/src/cocoa/control.mm index 0e498cb529..475a372d5e 100644 --- a/src/cocoa/control.mm +++ b/src/cocoa/control.mm @@ -218,11 +218,8 @@ wxSize wxControl::DoGetBestSize() const wxASSERT(GetNSControl()); /* We can ask single-celled controls for their cell and get its size */ NSCell *cell = nil; -NS_DURING - cell = [GetNSControl() cell]; -NS_HANDLER - // TODO: if anything other than method not implemented, re-raise -NS_ENDHANDLER + if([GetNSControl() respondsToSelector:@selector(cell)]) + cell = [GetNSControl() cell]; if(cell) { NSSize cellSize = [cell cellSize]; @@ -232,16 +229,10 @@ NS_ENDHANDLER } /* multi-celled control? size to fit, get the size, then set it back */ - NSRect storedRect = [m_cocoaNSView frame]; - bool didFit = false; -NS_DURING - [GetNSControl() sizeToFit]; - didFit = true; -NS_HANDLER - // TODO: if anything other than method not implemented, re-raise -NS_ENDHANDLER - if(didFit) + if([GetNSControl() respondsToSelector:@selector(sizeToFit)]) { + NSRect storedRect = [m_cocoaNSView frame]; + [GetNSControl() sizeToFit]; NSRect cocoaRect = [m_cocoaNSView frame]; wxSize size((int)ceil(cocoaRect.size.width),(int)ceil(cocoaRect.size.height)); [m_cocoaNSView setFrame: storedRect];