filefilter: fix UTI type conversion on macOS

GContentType on macOS switched to UTI since glib 2.51. We should not assume it as MIME type anymore.

Fixes: #4986

Signed-off-by: Qiu Wenbo <qiuwenbo@kylinos.com.cn>
This commit is contained in:
Qiu Wenbo
2023-08-11 15:55:08 +08:00
committed by Matthias Clasen
parent efb3477dc9
commit 0997d39a06
2 changed files with 2 additions and 6 deletions

View File

@@ -758,8 +758,6 @@ gtk_file_filter_get_attributes (GtkFileFilter *filter)
#ifdef GDK_WINDOWING_MACOS
#import <Foundation/Foundation.h>
NSArray * _gtk_file_filter_get_as_pattern_nsstrings (GtkFileFilter *filter)
{
NSMutableArray *array = [[NSMutableArray alloc] init];
@@ -773,9 +771,8 @@ NSArray * _gtk_file_filter_get_as_pattern_nsstrings (GtkFileFilter *filter)
{
case FILTER_RULE_MIME_TYPE:
{
// convert mime-types to UTI
NSString *mime_type_nsstring = [NSString stringWithUTF8String: rule->u.content_types[0]];
NSString *uti_nsstring = (NSString *) UTTypeCreatePreferredIdentifierForTag (kUTTagClassMIMEType, (CFStringRef) mime_type_nsstring, NULL);
// GContentType from GIO use UTI on macOS since glib version 2.51
NSString *uti_nsstring = [NSString stringWithUTF8String: rule->u.content_types[0]];
if (uti_nsstring == NULL)
{
[array release];

View File

@@ -1075,7 +1075,6 @@ endif
if macos_enabled
gtk_macos_frameworks = [
'AppKit',
'Foundation',
]
gtk_deps += [dependency('appleframeworks', modules: gtk_macos_frameworks)]
endif