qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]