ui/cocoa: Avoid deprecated NSOKButton/NSCancelButton constants

In OSX 10.10, the NSOKButton and NSCancelButton constants are deprecated
and provoke compiler warnings. Avoid them by using the
NSFileHandlingPanelCancelButton and NSFileHandlingPanelOKButton constants
instead. These are the documented correct constants for the 10.6-and-up
beginSheetModalForWindow API we use. We also use the same method for
the pre-10.6 compatibility code path, but conveniently the constant
values are the same and the constant names have been present since 10.0.
Preferring the constant names that match the non-legacy API makes more
sense anyway.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1431296361-16981-7-git-send-email-peter.maydell@linaro.org
master
Peter Maydell 2015-05-19 09:11:18 +01:00
parent 81801ae213
commit 8617989eae
1 changed files with 8 additions and 2 deletions

View File

@ -902,9 +902,15 @@ QemuCocoaView *cocoaView;
{
COCOA_DEBUG("QemuCocoaAppController: openPanelDidEnd\n");
if(returnCode == NSCancelButton) {
/* The NSFileHandlingPanelOKButton/NSFileHandlingPanelCancelButton values for
* returnCode strictly only apply for the 10.6-and-up beginSheetModalForWindow
* API. For the legacy pre-10.6 beginSheetForDirectory API they are NSOKButton
* and NSCancelButton. However conveniently the values are the same.
* We use the non-legacy names because the others are deprecated in OSX 10.10.
*/
if (returnCode == NSFileHandlingPanelCancelButton) {
exit(0);
} else if(returnCode == NSOKButton) {
} else if (returnCode == NSFileHandlingPanelOKButton) {
char *img = (char*)[ [ [ sheet URL ] path ] cStringUsingEncoding:NSASCIIStringEncoding];
char **argv = g_new(char *, 4);