[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] ui/cocoa: Fix openFile: deprecation on Big Sur
From: |
Peter Maydell |
Subject: |
Re: [PATCH] ui/cocoa: Fix openFile: deprecation on Big Sur |
Date: |
Sat, 2 Jan 2021 13:16:48 +0000 |
On Sat, 2 Jan 2021 at 12:52, Roman Bolshakov <r.bolshakov@yadro.com> wrote:
>
> ui/cocoa.m:1188:44: warning: 'openFile:' is deprecated: first deprecated in
> macOS 11.0 - Use -[NSWorkspace openURL:] instead.
> [-Wdeprecated-declarations]
> if ([[NSWorkspace sharedWorkspace] openFile: full_file_path] == YES) {
> ^
> /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWorkspace.h:350:1:
> note:
> 'openFile:' has been explicitly marked deprecated here
> - (BOOL)openFile:(NSString *)fullPath API_DEPRECATED("Use -[NSWorkspace
> openURL:] instead.", macos(10.0, 11.0));
> ^
>
> Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
> ---
> ui/cocoa.m | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/ui/cocoa.m b/ui/cocoa.m
> index f32adc3074..5909758a09 100644
> --- a/ui/cocoa.m
> +++ b/ui/cocoa.m
> @@ -1178,6 +1178,7 @@ QemuCocoaView *cocoaView;
> /* Where to look for local files */
> NSString *path_array[] = {@"../share/doc/qemu/", @"../doc/qemu/",
> @"../docs/"};
> NSString *full_file_path;
> + NSURL *full_file_url;
>
> /* iterate thru the possible paths until the file is found */
> int index;
> @@ -1186,7 +1187,8 @@ QemuCocoaView *cocoaView;
> full_file_path = [full_file_path stringByDeletingLastPathComponent];
> full_file_path = [NSString stringWithFormat: @"%@/%@%@",
> full_file_path,
> path_array[index], filename];
> - if ([[NSWorkspace sharedWorkspace] openFile: full_file_path] == YES)
> {
> + full_file_url = [NSURL URLWithString: full_file_path];
> + if ([[NSWorkspace sharedWorkspace] openURL: full_file_url] == YES) {
> return;
> }
The NSURL URLWithString method documentation:
https://developer.apple.com/documentation/foundation/nsurl/1572047-urlwithstring
says:
# Important
# To create NSURL objects for file system paths, use
fileURLWithPath:isDirectory:
# instead.
Should we be doing that instead ?
thanks
-- PMM