diff --git a/gdk/quartz/gdkquartz-gtk-only.h b/gdk/quartz/gdkquartz-gtk-only.h index d44fbda230..d42b6e19ae 100644 --- a/gdk/quartz/gdkquartz-gtk-only.h +++ b/gdk/quartz/gdkquartz-gtk-only.h @@ -27,6 +27,20 @@ #include #include +#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400 +#define GDK_QUARTZ_FILE_PBOARD_TYPE NSURLPboardType +#define GDK_QUARTZ_URL_PBOARD_TYPE NSURLPboardType +#define GDK_QUARTZ_COLOR_PBOARD_TYPE NSColorPboardType +#define GDK_QUARTZ_STRING_PBOARD_TYPE NSStringPboardType +#define GDK_QUARTZ_TIFF_PBOARD_TYPE NSTIFFPboardType +#else +#define GDK_QUARTZ_FILE_PBOARD_TYPE NSPasteboardTypeFileURL +#define GDK_QUARTZ_URL_PBOARD_TYPE NSPasteboardTypeURL +#define GDK_QUARTZ_COLOR_PBOARD_TYPE NSPasteboardTypeColor +#define GDK_QUARTZ_STRING_PBOARD_TYPE NSPasteboardTypeString +#define GDK_QUARTZ_TIFF_PBOARD_TYPE NSPasteboardTypeTIFF +#endif + /* Drag and Drop/Clipboard */ GDK_AVAILABLE_IN_ALL GdkAtom gdk_quartz_pasteboard_type_to_atom_libgtk_only (NSString *type); diff --git a/gdk/quartz/gdkselection-quartz.c b/gdk/quartz/gdkselection-quartz.c index fb102736cc..48aba9c9a1 100644 --- a/gdk/quartz/gdkselection-quartz.c +++ b/gdk/quartz/gdkselection-quartz.c @@ -174,19 +174,6 @@ _gdk_quartz_display_text_property_to_utf8_list (GdkDisplay *display, } } -#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400 -#define GDK_QUARTZ_URL_PBOARD_TYPE NSURLPboardType -#define GDK_QUARTZ_COLOR_PBOARD_TYPE NSColorPboardType -#define GDK_QUARTZ_STRING_PBOARD_TYPE NSStringPboardType -#define GDK_QUARTZ_TIFF_PBOARD_TYPE NSTIFFPboardType -#else -#define GDK_QUARTZ_FILE_PBOARD_TYPE NSPasteboardTypeFileURL -#define GDK_QUARTZ_URL_PBOARD_TYPE NSPasteboardTypeURL -#define GDK_QUARTZ_COLOR_PBOARD_TYPE NSPasteboardTypeColor -#define GDK_QUARTZ_STRING_PBOARD_TYPE NSPasteboardTypeString -#define GDK_QUARTZ_TIFF_PBOARD_TYPE NSPasteboardTypeTIFF -#endif - GdkAtom gdk_quartz_pasteboard_type_to_atom_libgtk_only (NSString *type) { @@ -196,12 +183,9 @@ gdk_quartz_pasteboard_type_to_atom_libgtk_only (NSString *type) return gdk_atom_intern_static_string ("image/tiff"); else if ([type isEqualToString:GDK_QUARTZ_COLOR_PBOARD_TYPE]) return gdk_atom_intern_static_string ("application/x-color"); - else if ([type isEqualToString:GDK_QUARTZ_URL_PBOARD_TYPE]) + else if ([type isEqualToString:GDK_QUARTZ_URL_PBOARD_TYPE] || + [type isEqualToString:GDK_QUARTZ_FILE_PBOARD_TYPE]) return gdk_atom_intern_static_string ("text/uri-list"); -#if MAC_OS_X_VERSION_MIN_REQUIRED >= 101400 - else if ([type isEqualToString:GDK_QUARTZ_FILE_PBOARD_TYPE]) - return gdk_atom_intern_static_string ("text/uri-list"); -#endif else return gdk_atom_intern ([type UTF8String], FALSE); } diff --git a/gtk/gtkquartz.c b/gtk/gtkquartz.c index 4790087b89..f29c9d7dc7 100644 --- a/gtk/gtkquartz.c +++ b/gtk/gtkquartz.c @@ -186,7 +186,7 @@ _gtk_quartz_get_selection_data_from_pasteboard (NSPasteboard *pasteboard, selection_data->display = gdk_display_get_default (); if (target == gdk_atom_intern_static_string ("UTF8_STRING")) { - NSString *s = [pasteboard stringForType:NSStringPboardType]; + NSString *s = [pasteboard stringForType:GDK_QUARTZ_STRING_PBOARD_TYPE]; if (s) { @@ -237,7 +237,8 @@ _gtk_quartz_get_selection_data_from_pasteboard (NSPasteboard *pasteboard, gtk_selection_data_set_uris (selection_data, uris); g_free (uris); } - else if ([[pasteboard types] containsObject:NSURLPboardType]) + else if ([[pasteboard types] containsObject:GDK_QUARTZ_URL_PBOARD_TYPE] || + [[pasteboard types] containsObject:GDK_QUARTZ_FILE_PBOARD_TYPE]) { gchar *uris[2]; NSURL *url = [NSURL URLFromPasteboard:pasteboard]; @@ -258,7 +259,7 @@ _gtk_quartz_get_selection_data_from_pasteboard (NSPasteboard *pasteboard, name = gdk_atom_name (target); if (strcmp (name, "image/tiff") == 0) - data = [pasteboard dataForType:NSTIFFPboardType]; + data = [pasteboard dataForType:GDK_QUARTZ_TIFF_PBOARD_TYPE]; else data = [pasteboard dataForType:[NSString stringWithUTF8String:name]]; @@ -292,10 +293,10 @@ _gtk_quartz_set_selection_data_for_pasteboard (NSPasteboard *pasteboard, type = gdk_quartz_atom_to_pasteboard_type_libgtk_only (gtk_selection_data_get_target (selection_data)); - if ([type isEqualTo:NSStringPboardType]) + if ([type isEqualTo:GDK_QUARTZ_STRING_PBOARD_TYPE]) [pasteboard setString:[NSString stringWithUTF8String:(const char *)data] forType:type]; - else if ([type isEqualTo:NSColorPboardType]) + else if ([type isEqualTo:GDK_QUARTZ_COLOR_PBOARD_TYPE]) { guint16 *color = (guint16 *)data; float red, green, blue, alpha; @@ -309,7 +310,7 @@ _gtk_quartz_set_selection_data_for_pasteboard (NSPasteboard *pasteboard, nscolor = [NSColor colorWithDeviceRed:red green:green blue:blue alpha:alpha]; [nscolor writeToPasteboard:pasteboard]; } - else if ([type isEqualTo:NSURLPboardType]) + else if ([type isEqualTo:GDK_QUARTZ_URL_PBOARD_TYPE]) { gchar **uris;