filefilter: fix UTI type conversion on macOS
authorQiu Wenbo <qiuwenbo@kylinos.com.cn>
Fri, 11 Aug 2023 07:55:08 +0000 (15:55 +0800)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 24 Aug 2023 14:18:55 +0000 (10:18 -0400)
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>
gtk/gtkfilefilter.c
gtk/meson.build

index 1550c491bdfbde41e209f44d332164c048c07473..26e5adb0db5556cde6a4a4e04f79dd28048ebc9c 100644 (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];
index 765925dc263edbdf559e45293439f83a6654421f..1bc3ab14e6e2a5e46fc583db5497dc0378d8113e 100644 (file)
@@ -1075,7 +1075,6 @@ endif
 if macos_enabled
   gtk_macos_frameworks = [
     'AppKit',
-    'Foundation',
   ]
   gtk_deps += [dependency('appleframeworks', modules: gtk_macos_frameworks)]
 endif