summaryrefslogtreecommitdiff
path: root/extra/thunar
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2012-03-14 10:24:35 +0100
committerMichał Masłowski <mtjm@mtjm.eu>2012-03-14 10:24:35 +0100
commita4f3ca8891e50241ac2ca144949e92b26920ffaf (patch)
treed31841075429e437c4908580e8ec074f2fe40aa5 /extra/thunar
parent3156702a5deccd61451be9f7d8ba0fd212a3043b (diff)
parent01a0c4bc740842efa3bf1a7e1d6c8be5656e4e2a (diff)
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts: community/aspell-ca/PKGBUILD community/corkscrew/PKGBUILD cross/mips64el-unknown-linux-gnu-binutils/PKGBUILD extra/gstreamer0.10-base/PKGBUILD extra/gstreamer0.10-good/PKGBUILD extra/gstreamer0.10-ugly/PKGBUILD extra/libxi/PKGBUILD extra/mesa/PKGBUILD extra/mkvtoolnix/PKGBUILD extra/mpc/PKGBUILD extra/poppler/PKGBUILD extra/xf86-video-siliconmotion/PKGBUILD extra/xorg-server/PKGBUILD gnome-unstable/gconf/PKGBUILD gnome-unstable/gnome-desktop/PKGBUILD gnome-unstable/network-manager-applet/PKGBUILD gnome-unstable/vte3/PKGBUILD multilib/chuck/PKGBUILD multilib/lib32-libpciaccess/PKGBUILD multilib/lib32-libx11/PKGBUILD multilib/lib32-libxcb/PKGBUILD multilib/lib32-libxcb/libxcb-1.1-no-pthread-stubs.patch multilib/lib32-libxft/PKGBUILD multilib/lib32-libxi/PKGBUILD multilib/lib32-llvm/PKGBUILD multilib/lib32-mesa/PKGBUILD testing/grep/PKGBUILD testing/sudo/PKGBUILD testing/xf86-input-joystick/PKGBUILD testing/xf86-input-wacom/PKGBUILD
Diffstat (limited to 'extra/thunar')
-rw-r--r--extra/thunar/PKGBUILD22
-rw-r--r--extra/thunar/fix-crash-8168.patch32
-rw-r--r--extra/thunar/fix-launching-multiple-files-7456.patch53
-rw-r--r--extra/thunar/fix-segfault-on-rename.patch27
-rw-r--r--extra/thunar/fix-sorting-of-large-numbers-5356.patch32
5 files changed, 161 insertions, 5 deletions
diff --git a/extra/thunar/PKGBUILD b/extra/thunar/PKGBUILD
index cb0eab8ee..0aa2df987 100644
--- a/extra/thunar/PKGBUILD
+++ b/extra/thunar/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 149974 2012-02-11 23:31:34Z allan $
+# $Id: PKGBUILD 153248 2012-03-12 14:40:08Z tpowa $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Andrew Simmons <andrew.simmons@gmail.com>
pkgname=thunar
pkgver=1.2.3
-pkgrel=4
+pkgrel=5
pkgdesc="Modern file manager for Xfce"
arch=('i686' 'x86_64' 'mips64el')
url="http://thunar.xfce.org"
@@ -22,12 +22,24 @@ optdepends=('gvfs: for trash support, mounting with udisk and remote filesystems
'thunar-media-tags-plugin: view/edit id3/ogg tags')
options=('!libtool')
install=$pkgname.install
-source=(http://archive.xfce.org/src/xfce/${pkgname}/1.2/Thunar-$pkgver.tar.bz2)
-sha256sums=('e66aa9ad61a9202e15cc7c5fffc7b961da9ab3b4428f874c1ec8e46eb4ffaca6')
+source=(http://archive.xfce.org/src/xfce/${pkgname}/1.2/Thunar-$pkgver.tar.bz2
+ fix-segfault-on-rename.patch
+ fix-sorting-of-large-numbers-5356.patch
+ fix-launching-multiple-files-7456.patch
+ fix-crash-8168.patch)
+md5sums=('0a2c36cdd3cb3a2ab52cbf6055415b85'
+ '07e568a84f3a24e32d9d37803a250099'
+ '926dbefb639c429c8acf064922b4fbe0'
+ '7ef67fa9faa414ba03053dc69f4cdebc'
+ '54a88687621bcbd5ab7d951a952d3558')
build() {
cd "$srcdir/Thunar-$pkgver"
-
+ # add fixes from git tree
+ patch -Np1 -i ../fix-sorting-of-large-numbers-5356.patch
+ patch -Np1 -i ../fix-launching-multiple-files-7456.patch
+ patch -Np1 -i ../fix-crash-8168.patch
+ patch -Np1 -i ../fix-segfault-on-rename.patch
./configure --prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/lib \
diff --git a/extra/thunar/fix-crash-8168.patch b/extra/thunar/fix-crash-8168.patch
new file mode 100644
index 000000000..4300c81c6
--- /dev/null
+++ b/extra/thunar/fix-crash-8168.patch
@@ -0,0 +1,32 @@
+From 71f6f207cfd0194a3f3db83cb5fab694a5036e22 Mon Sep 17 00:00:00 2001
+From: Jannis Pohlmann <jannis@xfce.org>
+Date: Sun, 26 Feb 2012 17:38:50 +0000
+Subject: Fix crash when removing an ancestor of the current folder (bug #8168).
+
+Whenever we release the GFileMonitor of a ThunarFolder, we also need to
+disconnect from its signals. Otherwise one of the signal handlers might
+still be called, potentially with corrupted user data (which was the
+case here).
+---
+diff --git a/thunar/thunar-folder.c b/thunar/thunar-folder.c
+index 62015fe..4076b8d 100644
+--- a/thunar/thunar-folder.c
++++ b/thunar/thunar-folder.c
+@@ -236,6 +236,7 @@ thunar_folder_finalize (GObject *object)
+ /* disconnect from the file alteration monitor */
+ if (G_LIKELY (folder->monitor != NULL))
+ {
++ g_signal_handlers_disconnect_matched (folder->monitor, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, folder);
+ g_file_monitor_cancel (folder->monitor);
+ g_object_unref (folder->monitor);
+ }
+@@ -705,6 +706,7 @@ thunar_folder_reload (ThunarFolder *folder)
+ /* disconnect from the file alteration monitor */
+ if (G_UNLIKELY (folder->monitor != NULL))
+ {
++ g_signal_handlers_disconnect_matched (folder->monitor, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, folder);
+ g_file_monitor_cancel (folder->monitor);
+ g_object_unref (folder->monitor);
+ folder->monitor = NULL;
+--
+cgit v0.9.0.2
diff --git a/extra/thunar/fix-launching-multiple-files-7456.patch b/extra/thunar/fix-launching-multiple-files-7456.patch
new file mode 100644
index 000000000..40d581553
--- /dev/null
+++ b/extra/thunar/fix-launching-multiple-files-7456.patch
@@ -0,0 +1,53 @@
+From 379b8b9f350cb362735eb0e2a0e9471a898f2664 Mon Sep 17 00:00:00 2001
+From: John Lindgren <john.lindgren@aol.com>
+Date: Sun, 26 Feb 2012 18:52:24 +0000
+Subject: Fix handling %U when launching multiple files with an app (bug #7456).
+
+GIO returns a newly allocated GAppInfo every time
+g_app_info_get_default_for_type() is called. This means that if we use a
+GHashTable and g_direct_hash() to associate GAppInfos with files to be
+launched with each of them, we will actually end up with multiple
+GAppInfos that are the same, and each of them will only have a single
+file associated.
+
+To fix this, we now use a fake hash function that causes GHashTable to
+always search the GAppInfo in the collision list.
+---
+diff --git a/thunar/thunar-launcher.c b/thunar/thunar-launcher.c
+index f479cf9..9f96b87 100644
+--- a/thunar/thunar-launcher.c
++++ b/thunar/thunar-launcher.c
+@@ -546,17 +546,28 @@ thunar_launcher_execute_files (ThunarLauncher *launcher,
+
+
+
++static guint
++thunar_launcher_g_app_info_hash (gconstpointer app_info)
++{
++ return 0;
++}
++
++
++
+ static void
+ thunar_launcher_open_files (ThunarLauncher *launcher,
+ GList *files)
+ {
+- GAppInfo *app_info;
+ GHashTable *applications;
++ GAppInfo *app_info;
+ GList *file_list;
+ GList *lp;
+
+- /* allocate a hash table to associate applications to URIs */
+- applications = g_hash_table_new_full (g_direct_hash,
++ /* allocate a hash table to associate applications to URIs. since GIO allocates
++ * new GAppInfo objects every time, g_direct_hash does not work. we therefor use
++ * a fake hash function to always hit the collision list of the hash table and
++ * avoid storing multiple equal GAppInfos by means of g_app_info_equal(). */
++ applications = g_hash_table_new_full (thunar_launcher_g_app_info_hash,
+ (GEqualFunc) g_app_info_equal,
+ (GDestroyNotify) g_object_unref,
+ (GDestroyNotify) thunar_g_file_list_free);
+--
+cgit v0.9.0.2
diff --git a/extra/thunar/fix-segfault-on-rename.patch b/extra/thunar/fix-segfault-on-rename.patch
new file mode 100644
index 000000000..b64a91e08
--- /dev/null
+++ b/extra/thunar/fix-segfault-on-rename.patch
@@ -0,0 +1,27 @@
+From fb7e7a602473fe2f11c78baacacaad1aea8c9dc6 Mon Sep 17 00:00:00 2001
+From: Nick Schermer <nick@xfce.org>
+Date: Wed, 30 Nov 2011 17:45:57 +0000
+Subject: Fix segfault when plugin returns a NULL suffix.
+
+(cherry picked from commit 6f813ba48553e5b95a83bfa8463b20b8ee4607c4)
+---
+diff --git a/thunar/thunar-renamer-model.c b/thunar/thunar-renamer-model.c
+index 1aa7b77..91a47e1 100644
+--- a/thunar/thunar-renamer-model.c
++++ b/thunar/thunar-renamer-model.c
+@@ -823,10 +823,9 @@ thunar_renamer_model_process_item (ThunarRenamerModel *renamer_model,
+ /* determine the new suffix */
+ suffix = thunarx_renamer_process (renamer_model->renamer, THUNARX_FILE_INFO (item->file), dot + 1, idx);
+
+- /* generate the new file name */
+- name = g_new (gchar, (dot - display_name) + 1 + strlen (suffix) + 1);
+- memcpy (name, display_name, (dot - display_name) + 1);
+- memcpy (name + (dot - display_name) + 1, suffix, strlen (suffix) + 1);
++ prefix = g_strndup (display_name, (dot - display_name) + 1);
++ name = g_strconcat (prefix, suffix, NULL);
++ g_free (prefix);
+
+ /* release the suffix */
+ g_free (suffix);
+--
+cgit v0.9.0.2
diff --git a/extra/thunar/fix-sorting-of-large-numbers-5356.patch b/extra/thunar/fix-sorting-of-large-numbers-5356.patch
new file mode 100644
index 000000000..1105eea83
--- /dev/null
+++ b/extra/thunar/fix-sorting-of-large-numbers-5356.patch
@@ -0,0 +1,32 @@
+From 493db02bdbc6ec667cd04e75a77dff8366ec1bc0 Mon Sep 17 00:00:00 2001
+From: Eric Koegel <eric.koegel@gmail.com>
+Date: Sun, 06 Nov 2011 13:58:33 +0000
+Subject: Fix sorting of filenames with large numbers (bug #5356).
+
+Change compare_by_name_using_number() to use guint64.
+
+Signed-off-by: Jannis Pohlmann <jannis@xfce.org>
+---
+diff --git a/thunar/thunar-file.c b/thunar/thunar-file.c
+index 909da25..44cdb31 100644
+--- a/thunar/thunar-file.c
++++ b/thunar/thunar-file.c
+@@ -3168,12 +3168,12 @@ static gint
+ compare_by_name_using_number (const gchar *ap,
+ const gchar *bp)
+ {
+- guint anum;
+- guint bnum;
++ guint64 anum;
++ guint64 bnum;
+
+ /* determine the numbers in ap and bp */
+- anum = strtoul (ap, NULL, 10);
+- bnum = strtoul (bp, NULL, 10);
++ anum = strtouq (ap, NULL, 10);
++ bnum = strtouq (bp, NULL, 10);
+
+ /* compare the numbers */
+ if (anum < bnum)
+--
+cgit v0.9.0.2