From: James Turner Date: Tue, 22 Jan 2013 17:33:16 +0000 (+0100) Subject: Tolerate old blocks support in 10.6 compiler. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=a31c2d519cb8ed1e24e5ce3396c32339e275f7be;p=flightgear.git Tolerate old blocks support in 10.6 compiler. --- diff --git a/src/GUI/CocoaFileDialog.mm b/src/GUI/CocoaFileDialog.mm index c2bdbd932..a16a7892f 100644 --- a/src/GUI/CocoaFileDialog.mm +++ b/src/GUI/CocoaFileDialog.mm @@ -27,6 +27,11 @@ static NSURL* pathToNSURL(const SGPath& aPath) return [NSURL fileURLWithPath:stdStringToCocoa(aPath.str())]; } +// 10.6 compiler won't accept block-scoped locals in Objective-C++, +// so making these globals. +static NSString* completion_path = nil; +static SGPath completion_sgpath; + class CocoaFileDialog::CocoaFileDialogPrivate { public: @@ -117,14 +122,11 @@ void CocoaFileDialog::exec() [d->panel beginSheetModalForWindow:cocoaWindow completionHandler:^(NSInteger result) { - NSString* path = nil; - SGPath sgpath; - if (result == NSFileHandlingPanelOKButton) { - path = [[d->panel URL] path]; + completion_path = [[d->panel URL] path]; //NSLog(@"the URL is: %@", d->panel URL]); - sgpath = ([path UTF8String]); - _callback->onFileDialogDone(this, sgpath); + completion_sgpath = ([completion_path UTF8String]); + _callback->onFileDialogDone(this, completion_sgpath); } }]; }