[arch-commits] Commit in thunar/repos (16 files)
Tobias Powalowski
tpowa at archlinux.org
Mon Mar 12 14:40:08 UTC 2012
Date: Monday, March 12, 2012 @ 10:40:08
Author: tpowa
Revision: 153248
archrelease: copy trunk to extra-i686, extra-x86_64
Added:
thunar/repos/extra-i686/PKGBUILD
(from rev 153247, thunar/trunk/PKGBUILD)
thunar/repos/extra-i686/fix-crash-8168.patch
(from rev 153247, thunar/trunk/fix-crash-8168.patch)
thunar/repos/extra-i686/fix-launching-multiple-files-7456.patch
(from rev 153247, thunar/trunk/fix-launching-multiple-files-7456.patch)
thunar/repos/extra-i686/fix-segfault-on-rename.patch
(from rev 153247, thunar/trunk/fix-segfault-on-rename.patch)
thunar/repos/extra-i686/fix-sorting-of-large-numbers-5356.patch
(from rev 153247, thunar/trunk/fix-sorting-of-large-numbers-5356.patch)
thunar/repos/extra-i686/thunar.install
(from rev 153247, thunar/trunk/thunar.install)
thunar/repos/extra-x86_64/PKGBUILD
(from rev 153247, thunar/trunk/PKGBUILD)
thunar/repos/extra-x86_64/fix-crash-8168.patch
(from rev 153247, thunar/trunk/fix-crash-8168.patch)
thunar/repos/extra-x86_64/fix-launching-multiple-files-7456.patch
(from rev 153247, thunar/trunk/fix-launching-multiple-files-7456.patch)
thunar/repos/extra-x86_64/fix-segfault-on-rename.patch
(from rev 153247, thunar/trunk/fix-segfault-on-rename.patch)
thunar/repos/extra-x86_64/fix-sorting-of-large-numbers-5356.patch
(from rev 153247, thunar/trunk/fix-sorting-of-large-numbers-5356.patch)
thunar/repos/extra-x86_64/thunar.install
(from rev 153247, thunar/trunk/thunar.install)
Deleted:
thunar/repos/extra-i686/PKGBUILD
thunar/repos/extra-i686/thunar.install
thunar/repos/extra-x86_64/PKGBUILD
thunar/repos/extra-x86_64/thunar.install
------------------------------------------------------+
extra-i686/PKGBUILD | 124 +++++++++--------
extra-i686/fix-crash-8168.patch | 32 ++++
extra-i686/fix-launching-multiple-files-7456.patch | 53 +++++++
extra-i686/fix-segfault-on-rename.patch | 27 +++
extra-i686/fix-sorting-of-large-numbers-5356.patch | 32 ++++
extra-i686/thunar.install | 28 +--
extra-x86_64/PKGBUILD | 124 +++++++++--------
extra-x86_64/fix-crash-8168.patch | 32 ++++
extra-x86_64/fix-launching-multiple-files-7456.patch | 53 +++++++
extra-x86_64/fix-segfault-on-rename.patch | 27 +++
extra-x86_64/fix-sorting-of-large-numbers-5356.patch | 32 ++++
extra-x86_64/thunar.install | 28 +--
12 files changed, 452 insertions(+), 140 deletions(-)
Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD 2012-03-12 14:39:15 UTC (rev 153247)
+++ extra-i686/PKGBUILD 2012-03-12 14:40:08 UTC (rev 153248)
@@ -1,56 +0,0 @@
-# $Id$
-# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
-# Contributor: Andrew Simmons <andrew.simmons at gmail.com>
-
-pkgname=thunar
-pkgver=1.2.3
-pkgrel=4
-pkgdesc="Modern file manager for Xfce"
-arch=('i686' 'x86_64')
-url="http://thunar.xfce.org"
-license=('GPL2' 'LGPL2.1')
-groups=('xfce4')
-depends=('desktop-file-utils' 'libexif' 'hicolor-icon-theme' 'libnotify' 'udev'
- 'gtk2' 'exo' 'libxfce4util' 'libxfce4ui' 'libpng')
-makedepends=('intltool' 'gtk-doc' 'xfce4-panel')
-optdepends=('gvfs: for trash support, mounting with udisk and remote filesystems'
- 'polkit-gnome: for mounting internal partitions (needs root password)'
- 'xfce4-panel: for trash applet'
- 'tumbler: for thumbnail previews'
- 'thunar-volman: manages removable devices'
- 'thunar-archive-plugin: create and deflate archives'
- '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')
-
-build() {
- cd "$srcdir/Thunar-$pkgver"
-
- ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --libexecdir=/usr/lib \
- --localstatedir=/var \
- --disable-static \
- --enable-gio-unix \
- --enable-dbus \
- --enable-startup-notification \
- --enable-gudev \
- --enable-notifications \
- --enable-exif \
- --enable-pcre \
- --enable-gtk-doc \
- --disable-debug
- make
-}
-
-package() {
- cd "$srcdir/Thunar-$pkgver"
-
- make DESTDIR=${pkgdir} install
- sed -i 's:x-directory/gnome-default-handler;::' \
- "$pkgdir/usr/share/applications/Thunar-folder-handler.desktop"
-}
-
-# vim:set ts=2 sw=2 et:
Copied: thunar/repos/extra-i686/PKGBUILD (from rev 153247, thunar/trunk/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD (rev 0)
+++ extra-i686/PKGBUILD 2012-03-12 14:40:08 UTC (rev 153248)
@@ -0,0 +1,68 @@
+# $Id$
+# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
+# Contributor: Andrew Simmons <andrew.simmons at gmail.com>
+
+pkgname=thunar
+pkgver=1.2.3
+pkgrel=5
+pkgdesc="Modern file manager for Xfce"
+arch=('i686' 'x86_64')
+url="http://thunar.xfce.org"
+license=('GPL2' 'LGPL2.1')
+groups=('xfce4')
+depends=('desktop-file-utils' 'libexif' 'hicolor-icon-theme' 'libnotify' 'udev'
+ 'gtk2' 'exo' 'libxfce4util' 'libxfce4ui' 'libpng')
+makedepends=('intltool' 'gtk-doc' 'xfce4-panel')
+optdepends=('gvfs: for trash support, mounting with udisk and remote filesystems'
+ 'polkit-gnome: for mounting internal partitions (needs root password)'
+ 'xfce4-panel: for trash applet'
+ 'tumbler: for thumbnail previews'
+ 'thunar-volman: manages removable devices'
+ 'thunar-archive-plugin: create and deflate archives'
+ '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
+ 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 \
+ --localstatedir=/var \
+ --disable-static \
+ --enable-gio-unix \
+ --enable-dbus \
+ --enable-startup-notification \
+ --enable-gudev \
+ --enable-notifications \
+ --enable-exif \
+ --enable-pcre \
+ --enable-gtk-doc \
+ --disable-debug
+ make
+}
+
+package() {
+ cd "$srcdir/Thunar-$pkgver"
+
+ make DESTDIR=${pkgdir} install
+ sed -i 's:x-directory/gnome-default-handler;::' \
+ "$pkgdir/usr/share/applications/Thunar-folder-handler.desktop"
+}
+
+# vim:set ts=2 sw=2 et:
Copied: thunar/repos/extra-i686/fix-crash-8168.patch (from rev 153247, thunar/trunk/fix-crash-8168.patch)
===================================================================
--- extra-i686/fix-crash-8168.patch (rev 0)
+++ extra-i686/fix-crash-8168.patch 2012-03-12 14:40:08 UTC (rev 153248)
@@ -0,0 +1,32 @@
+From 71f6f207cfd0194a3f3db83cb5fab694a5036e22 Mon Sep 17 00:00:00 2001
+From: Jannis Pohlmann <jannis at 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
Copied: thunar/repos/extra-i686/fix-launching-multiple-files-7456.patch (from rev 153247, thunar/trunk/fix-launching-multiple-files-7456.patch)
===================================================================
--- extra-i686/fix-launching-multiple-files-7456.patch (rev 0)
+++ extra-i686/fix-launching-multiple-files-7456.patch 2012-03-12 14:40:08 UTC (rev 153248)
@@ -0,0 +1,53 @@
+From 379b8b9f350cb362735eb0e2a0e9471a898f2664 Mon Sep 17 00:00:00 2001
+From: John Lindgren <john.lindgren at 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
Copied: thunar/repos/extra-i686/fix-segfault-on-rename.patch (from rev 153247, thunar/trunk/fix-segfault-on-rename.patch)
===================================================================
--- extra-i686/fix-segfault-on-rename.patch (rev 0)
+++ extra-i686/fix-segfault-on-rename.patch 2012-03-12 14:40:08 UTC (rev 153248)
@@ -0,0 +1,27 @@
+From fb7e7a602473fe2f11c78baacacaad1aea8c9dc6 Mon Sep 17 00:00:00 2001
+From: Nick Schermer <nick at 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
Copied: thunar/repos/extra-i686/fix-sorting-of-large-numbers-5356.patch (from rev 153247, thunar/trunk/fix-sorting-of-large-numbers-5356.patch)
===================================================================
--- extra-i686/fix-sorting-of-large-numbers-5356.patch (rev 0)
+++ extra-i686/fix-sorting-of-large-numbers-5356.patch 2012-03-12 14:40:08 UTC (rev 153248)
@@ -0,0 +1,32 @@
+From 493db02bdbc6ec667cd04e75a77dff8366ec1bc0 Mon Sep 17 00:00:00 2001
+From: Eric Koegel <eric.koegel at 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 at 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
Deleted: extra-i686/thunar.install
===================================================================
--- extra-i686/thunar.install 2012-03-12 14:39:15 UTC (rev 153247)
+++ extra-i686/thunar.install 2012-03-12 14:40:08 UTC (rev 153248)
@@ -1,14 +0,0 @@
-post_install() {
- update-desktop-database -q
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
-
-# vim:set ts=2 sw=2 et:
Copied: thunar/repos/extra-i686/thunar.install (from rev 153247, thunar/trunk/thunar.install)
===================================================================
--- extra-i686/thunar.install (rev 0)
+++ extra-i686/thunar.install 2012-03-12 14:40:08 UTC (rev 153248)
@@ -0,0 +1,14 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
Deleted: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD 2012-03-12 14:39:15 UTC (rev 153247)
+++ extra-x86_64/PKGBUILD 2012-03-12 14:40:08 UTC (rev 153248)
@@ -1,56 +0,0 @@
-# $Id$
-# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
-# Contributor: Andrew Simmons <andrew.simmons at gmail.com>
-
-pkgname=thunar
-pkgver=1.2.3
-pkgrel=4
-pkgdesc="Modern file manager for Xfce"
-arch=('i686' 'x86_64')
-url="http://thunar.xfce.org"
-license=('GPL2' 'LGPL2.1')
-groups=('xfce4')
-depends=('desktop-file-utils' 'libexif' 'hicolor-icon-theme' 'libnotify' 'udev'
- 'gtk2' 'exo' 'libxfce4util' 'libxfce4ui' 'libpng')
-makedepends=('intltool' 'gtk-doc' 'xfce4-panel')
-optdepends=('gvfs: for trash support, mounting with udisk and remote filesystems'
- 'polkit-gnome: for mounting internal partitions (needs root password)'
- 'xfce4-panel: for trash applet'
- 'tumbler: for thumbnail previews'
- 'thunar-volman: manages removable devices'
- 'thunar-archive-plugin: create and deflate archives'
- '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')
-
-build() {
- cd "$srcdir/Thunar-$pkgver"
-
- ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --libexecdir=/usr/lib \
- --localstatedir=/var \
- --disable-static \
- --enable-gio-unix \
- --enable-dbus \
- --enable-startup-notification \
- --enable-gudev \
- --enable-notifications \
- --enable-exif \
- --enable-pcre \
- --enable-gtk-doc \
- --disable-debug
- make
-}
-
-package() {
- cd "$srcdir/Thunar-$pkgver"
-
- make DESTDIR=${pkgdir} install
- sed -i 's:x-directory/gnome-default-handler;::' \
- "$pkgdir/usr/share/applications/Thunar-folder-handler.desktop"
-}
-
-# vim:set ts=2 sw=2 et:
Copied: thunar/repos/extra-x86_64/PKGBUILD (from rev 153247, thunar/trunk/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD (rev 0)
+++ extra-x86_64/PKGBUILD 2012-03-12 14:40:08 UTC (rev 153248)
@@ -0,0 +1,68 @@
+# $Id$
+# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
+# Contributor: Andrew Simmons <andrew.simmons at gmail.com>
+
+pkgname=thunar
+pkgver=1.2.3
+pkgrel=5
+pkgdesc="Modern file manager for Xfce"
+arch=('i686' 'x86_64')
+url="http://thunar.xfce.org"
+license=('GPL2' 'LGPL2.1')
+groups=('xfce4')
+depends=('desktop-file-utils' 'libexif' 'hicolor-icon-theme' 'libnotify' 'udev'
+ 'gtk2' 'exo' 'libxfce4util' 'libxfce4ui' 'libpng')
+makedepends=('intltool' 'gtk-doc' 'xfce4-panel')
+optdepends=('gvfs: for trash support, mounting with udisk and remote filesystems'
+ 'polkit-gnome: for mounting internal partitions (needs root password)'
+ 'xfce4-panel: for trash applet'
+ 'tumbler: for thumbnail previews'
+ 'thunar-volman: manages removable devices'
+ 'thunar-archive-plugin: create and deflate archives'
+ '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
+ 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 \
+ --localstatedir=/var \
+ --disable-static \
+ --enable-gio-unix \
+ --enable-dbus \
+ --enable-startup-notification \
+ --enable-gudev \
+ --enable-notifications \
+ --enable-exif \
+ --enable-pcre \
+ --enable-gtk-doc \
+ --disable-debug
+ make
+}
+
+package() {
+ cd "$srcdir/Thunar-$pkgver"
+
+ make DESTDIR=${pkgdir} install
+ sed -i 's:x-directory/gnome-default-handler;::' \
+ "$pkgdir/usr/share/applications/Thunar-folder-handler.desktop"
+}
+
+# vim:set ts=2 sw=2 et:
Copied: thunar/repos/extra-x86_64/fix-crash-8168.patch (from rev 153247, thunar/trunk/fix-crash-8168.patch)
===================================================================
--- extra-x86_64/fix-crash-8168.patch (rev 0)
+++ extra-x86_64/fix-crash-8168.patch 2012-03-12 14:40:08 UTC (rev 153248)
@@ -0,0 +1,32 @@
+From 71f6f207cfd0194a3f3db83cb5fab694a5036e22 Mon Sep 17 00:00:00 2001
+From: Jannis Pohlmann <jannis at 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
Copied: thunar/repos/extra-x86_64/fix-launching-multiple-files-7456.patch (from rev 153247, thunar/trunk/fix-launching-multiple-files-7456.patch)
===================================================================
--- extra-x86_64/fix-launching-multiple-files-7456.patch (rev 0)
+++ extra-x86_64/fix-launching-multiple-files-7456.patch 2012-03-12 14:40:08 UTC (rev 153248)
@@ -0,0 +1,53 @@
+From 379b8b9f350cb362735eb0e2a0e9471a898f2664 Mon Sep 17 00:00:00 2001
+From: John Lindgren <john.lindgren at 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
Copied: thunar/repos/extra-x86_64/fix-segfault-on-rename.patch (from rev 153247, thunar/trunk/fix-segfault-on-rename.patch)
===================================================================
--- extra-x86_64/fix-segfault-on-rename.patch (rev 0)
+++ extra-x86_64/fix-segfault-on-rename.patch 2012-03-12 14:40:08 UTC (rev 153248)
@@ -0,0 +1,27 @@
+From fb7e7a602473fe2f11c78baacacaad1aea8c9dc6 Mon Sep 17 00:00:00 2001
+From: Nick Schermer <nick at 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
Copied: thunar/repos/extra-x86_64/fix-sorting-of-large-numbers-5356.patch (from rev 153247, thunar/trunk/fix-sorting-of-large-numbers-5356.patch)
===================================================================
--- extra-x86_64/fix-sorting-of-large-numbers-5356.patch (rev 0)
+++ extra-x86_64/fix-sorting-of-large-numbers-5356.patch 2012-03-12 14:40:08 UTC (rev 153248)
@@ -0,0 +1,32 @@
+From 493db02bdbc6ec667cd04e75a77dff8366ec1bc0 Mon Sep 17 00:00:00 2001
+From: Eric Koegel <eric.koegel at 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 at 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
Deleted: extra-x86_64/thunar.install
===================================================================
--- extra-x86_64/thunar.install 2012-03-12 14:39:15 UTC (rev 153247)
+++ extra-x86_64/thunar.install 2012-03-12 14:40:08 UTC (rev 153248)
@@ -1,14 +0,0 @@
-post_install() {
- update-desktop-database -q
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
-
-# vim:set ts=2 sw=2 et:
Copied: thunar/repos/extra-x86_64/thunar.install (from rev 153247, thunar/trunk/thunar.install)
===================================================================
--- extra-x86_64/thunar.install (rev 0)
+++ extra-x86_64/thunar.install 2012-03-12 14:40:08 UTC (rev 153248)
@@ -0,0 +1,14 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
More information about the arch-commits
mailing list