From a7b03c79993b08c2eeba19fe4982ef3a03827146 Mon Sep 17 00:00:00 2001 From: Alessio Sergi Date: Sun, 23 Nov 2014 20:22:00 +0100 Subject: [PATCH] xfdesktop: add patch from upstream to fix bug with glib>=2.41 --- .../patch-src_xfdesktop-file-icon-manager_c | 37 +++++++++++++++++++ srcpkgs/xfdesktop/template | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/xfdesktop/patches/patch-src_xfdesktop-file-icon-manager_c diff --git a/srcpkgs/xfdesktop/patches/patch-src_xfdesktop-file-icon-manager_c b/srcpkgs/xfdesktop/patches/patch-src_xfdesktop-file-icon-manager_c new file mode 100644 index 0000000000..2529e7f3eb --- /dev/null +++ b/srcpkgs/xfdesktop/patches/patch-src_xfdesktop-file-icon-manager_c @@ -0,0 +1,37 @@ +$OpenBSD: patch-src_xfdesktop-file-icon-manager_c,v 1.1 2014/11/18 20:45:17 landry Exp $ + +http://git.xfce.org/xfce/xfdesktop/commit/?id=a4d701b2836724f101d319c11205fa03201134fb +https://bugzilla.xfce.org/show_bug.cgi?id=11306 + +Default application not respected with glib >= 2.41 + +--- src/xfdesktop-file-icon-manager.c.orig Sat Mar 2 17:37:34 2013 ++++ src/xfdesktop-file-icon-manager.c Tue Nov 18 21:39:57 2014 +@@ -1564,7 +1564,26 @@ xfdesktop_file_icon_manager_populate_context_menu(Xfce + + app_infos = g_app_info_get_all_for_type(g_file_info_get_content_type(info)); + if(app_infos) { +- GAppInfo *app_info = G_APP_INFO(app_infos->data); ++ GAppInfo *app_info, *default_application; ++ GList *ap; ++ ++ /* move any default application in front of the list */ ++ default_application = g_app_info_get_default_for_type (g_file_info_get_content_type(info), FALSE); ++ if (G_LIKELY (default_application != NULL)) ++ { ++ for (ap = app_infos; ap != NULL; ap = ap->next) ++ { ++ if (g_app_info_equal (ap->data, default_application)) ++ { ++ g_object_unref (ap->data); ++ app_infos = g_list_delete_link (app_infos, ap); ++ break; ++ } ++ } ++ app_infos = g_list_prepend (app_infos, default_application); ++ } ++ ++ app_info = G_APP_INFO(app_infos->data); + + mi = xfdesktop_menu_item_from_app_info(fmanager, file_icon, + app_info, TRUE, TRUE); diff --git a/srcpkgs/xfdesktop/template b/srcpkgs/xfdesktop/template index a5d0dcfb65..7b1b9b1c70 100644 --- a/srcpkgs/xfdesktop/template +++ b/srcpkgs/xfdesktop/template @@ -1,7 +1,7 @@ # Template file for 'xfdesktop' pkgname=xfdesktop version=4.10.3 -revision=1 +revision=2 build_style=gnu-configure hostmakedepends="pkg-config intltool glib-devel dbus-glib-devel" makedepends="xfconf-devel libxfce4ui-devel exo-devel gtk+-devel