summaryrefslogtreecommitdiff
path: root/extra/thunar
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-11-04 01:49:10 -0700
committerroot <root@rshg054.dnsready.net>2012-11-04 01:49:10 -0700
commit2030e810a5cfd4d3ff6e0f8930560c96f2990eb2 (patch)
tree383f3fafef303aec9d89c9da313b51bbaf424ac0 /extra/thunar
parente3f70522f1f35359d9307f478c96dace20a51ca1 (diff)
Sun Nov 4 01:48:41 PDT 2012
Diffstat (limited to 'extra/thunar')
-rw-r--r--extra/thunar/PKGBUILD10
-rw-r--r--extra/thunar/thunar-1.4.0-dont-add-duplicates-of-devices.patch59
2 files changed, 67 insertions, 2 deletions
diff --git a/extra/thunar/PKGBUILD b/extra/thunar/PKGBUILD
index 563ec2d2c..a1570a2b0 100644
--- a/extra/thunar/PKGBUILD
+++ b/extra/thunar/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 159694 2012-05-26 04:30:08Z foutrelis $
+# $Id: PKGBUILD 170122 2012-11-03 06:32:33Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Andrew Simmons <andrew.simmons@gmail.com>
pkgname=thunar
pkgver=1.4.0
-pkgrel=2
+pkgrel=3
pkgdesc="Modern file manager for Xfce"
arch=('i686' 'x86_64')
url="http://thunar.xfce.org"
@@ -23,13 +23,19 @@ optdepends=('gvfs: for trash support, mounting with udisk and remote filesystems
options=('!libtool')
install=$pkgname.install
source=(http://archive.xfce.org/src/xfce/$pkgname/1.4/Thunar-$pkgver.tar.bz2
+ thunar-1.4.0-dont-add-duplicates-of-devices.patch
thunar-1.4.0-show-loop-devices-hack.patch)
sha256sums=('2c11a19e64cef708a264fb4d5d933389899c3d132fe7b1e313dd6e37bfe4c8ba'
+ 'c25f86a4c298c24327b0681702167aea9f9d712a738c8f3883f5d66da7f08f19'
'185c44db9bdf578d22cb69b81dce7fcc3e2ee6031b1547de6453ff0752dbc97e')
build() {
cd "$srcdir/Thunar-$pkgver"
+ # https://bugzilla.xfce.org/show_bug.cgi?id=9440
+ # Backport of http://git.xfce.org/xfce/thunar/commit/?id=70a4301
+ patch -Np1 -i "$srcdir/thunar-1.4.0-dont-add-duplicates-of-devices.patch"
+
# Fix: Loop devices not appearing in Thunar side pane
# https://bugs.archlinux.org/task/29894
# https://bugzilla.xfce.org/show_bug.cgi?id=8947
diff --git a/extra/thunar/thunar-1.4.0-dont-add-duplicates-of-devices.patch b/extra/thunar/thunar-1.4.0-dont-add-duplicates-of-devices.patch
new file mode 100644
index 000000000..ee8636392
--- /dev/null
+++ b/extra/thunar/thunar-1.4.0-dont-add-duplicates-of-devices.patch
@@ -0,0 +1,59 @@
+diff -uprb Thunar-1.4.0.orig/thunar/thunar-shortcuts-model.c Thunar-1.4.0/thunar/thunar-shortcuts-model.c
+--- Thunar-1.4.0.orig/thunar/thunar-shortcuts-model.c 2012-11-03 07:42:39.000000000 +0200
++++ Thunar-1.4.0/thunar/thunar-shortcuts-model.c 2012-11-03 08:13:25.000000000 +0200
+@@ -1221,11 +1221,25 @@ thunar_shortcuts_model_volume_added (GVo
+ GVolume *volume,
+ ThunarShortcutsModel *model)
+ {
++ GList *lp;
++ gint idx;
++
+ _thunar_return_if_fail (G_IS_VOLUME_MONITOR (volume_monitor));
+ _thunar_return_if_fail (model->volume_monitor == volume_monitor);
+ _thunar_return_if_fail (G_IS_VOLUME (volume));
+ _thunar_return_if_fail (THUNAR_IS_SHORTCUTS_MODEL (model));
+
++ /* check that the volume is not in the internal list already */
++ if (g_list_find (model->hidden_volumes, volume) != NULL)
++ return;
++
++ /* nor in the list of visible volumes */
++ for (idx = 0, lp = model->shortcuts; lp != NULL; ++idx, lp = lp->next)
++ {
++ if (THUNAR_SHORTCUT (lp->data)->volume == volume)
++ return;
++ }
++
+ /* place the volume on the hidden list */
+ model->hidden_volumes = g_list_prepend (model->hidden_volumes, g_object_ref (volume));
+
+diff -uprb Thunar-1.4.0.orig/thunar/thunar-tree-model.c Thunar-1.4.0/thunar/thunar-tree-model.c
+--- Thunar-1.4.0.orig/thunar/thunar-tree-model.c 2012-11-03 07:42:39.000000000 +0200
++++ Thunar-1.4.0/thunar/thunar-tree-model.c 2012-11-03 08:09:36.000000000 +0200
+@@ -1127,11 +1127,26 @@ thunar_tree_model_volume_added (GVolumeM
+ GVolume *volume,
+ ThunarTreeModel *model)
+ {
++ ThunarTreeModelItem *item = NULL;
++ GNode *node;
++
+ _thunar_return_if_fail (G_IS_VOLUME_MONITOR (volume_monitor));
+ _thunar_return_if_fail (model->volume_monitor == volume_monitor);
+ _thunar_return_if_fail (G_IS_VOLUME (volume));
+ _thunar_return_if_fail (THUNAR_IS_TREE_MODEL (model));
+
++ /* check that the volume is not in the internal list already */
++ if (g_list_find (model->hidden_volumes, volume) != NULL)
++ return;
++
++ /* nor in the list of visible volumes */
++ for (node = model->root->children; node != NULL; node = node->next)
++ {
++ item = THUNAR_TREE_MODEL_ITEM (node->data);
++ if (item->volume == volume)
++ return;
++ }
++
+ /* place the volume on the hidden list */
+ model->hidden_volumes = g_list_prepend (model->hidden_volumes, g_object_ref (volume));
+