@@ -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);
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> --- ui/cocoa.m | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)