Date: Friday, January 24, 2014 @ 06:18:05 Author: bgyorgy Revision: 104640
Move xarchiver from unsupported with 174 votes and 11.93 % Added: xarchiver/ xarchiver/trunk/ xarchiver/trunk/PKGBUILD xarchiver/trunk/xarchiver-0.5.2-add_mime_types.patch xarchiver/trunk/xarchiver-0.5.2-add_xz_support.patch xarchiver/trunk/xarchiver-0.5.2-disable-rar-support.patch xarchiver/trunk/xarchiver-0.5.2-drag-n-drop_escaped_path.patch xarchiver/trunk/xarchiver-0.5.2-fix_7z_support.patch xarchiver/trunk/xarchiver-0.5.2-no-donators-menu.patch xarchiver/trunk/xarchiver-0.5.2-segfault-delete-file.patch xarchiver/trunk/xarchiver-0.5.2-segfault-open-with.patch xarchiver/trunk/xarchiver.install ------------------------------------------------+ PKGBUILD | 84 ++++ xarchiver-0.5.2-add_mime_types.patch | 9 xarchiver-0.5.2-add_xz_support.patch | 397 +++++++++++++++++++++++ xarchiver-0.5.2-disable-rar-support.patch | 35 ++ xarchiver-0.5.2-drag-n-drop_escaped_path.patch | 13 xarchiver-0.5.2-fix_7z_support.patch | 110 ++++++ xarchiver-0.5.2-no-donators-menu.patch | 50 ++ xarchiver-0.5.2-segfault-delete-file.patch | 21 + xarchiver-0.5.2-segfault-open-with.patch | 15 xarchiver.install | 12 10 files changed, 746 insertions(+) Added: xarchiver/trunk/PKGBUILD =================================================================== --- xarchiver/trunk/PKGBUILD (rev 0) +++ xarchiver/trunk/PKGBUILD 2014-01-24 05:18:05 UTC (rev 104640) @@ -0,0 +1,84 @@ +# $Id$ +# Maintainer: Balló György <ballogyor+arch at gmail dot com> +# Contributor: Alexander Fehr <pizzapunk gmail com> +# Contributor: Andrew Simmons <[email protected]> + +pkgname=xarchiver +pkgver=0.5.2 +pkgrel=6 +pkgdesc="GTK+ frontend to various command line archivers" +arch=('i686' 'x86_64') +url="http://xarchiver.sourceforge.net/" +license=('GPL') +depends=('gtk2' 'desktop-file-utils') +makedepends=('intltool') +optdepends=('zip: ZIP support' + 'unzip: ZIP support' + 'p7zip: 7z support' + 'arj: ARJ support' + 'lzop: LZOP support' + 'cpio: RPM support') +install=xarchiver.install +source=(http://downloads.sourceforge.net/xarchiver/xarchiver-$pkgver.tar.bz2 + xarchiver-0.5.2-no-donators-menu.patch + xarchiver-0.5.2-add_xz_support.patch + xarchiver-0.5.2-segfault-open-with.patch + xarchiver-0.5.2-fix_7z_support.patch + xarchiver-0.5.2-drag-n-drop_escaped_path.patch + xarchiver-0.5.2-segfault-delete-file.patch + xarchiver-0.5.2-disable-rar-support.patch + xarchiver-0.5.2-add_mime_types.patch) +md5sums=('2bc7f06403cc6582dd4a8029ec9d038d' + '7ef9fe9aee9f0fbc141ed9683e91ea1c' + '5d5ef8dd1b8b7790af4ece5fcedcd370' + 'f9036a44157b318cbc59ed012b04974b' + '782f55c1f1021dc02c7739bf8a47336e' + 'fcd9e04222c5e0ef459977bd7cd0ae4e' + 'e518b1e0bc4407383aae2783c0c19a04' + '10f7f24b177d273dd3153785db8678a2' + '573592f04479ed710d3530ca8501f948') + +prepare() { + cd $pkgname-$pkgver + + # Fix donators menu item (upstream patch) + patch -Np2 -i ../xarchiver-0.5.2-no-donators-menu.patch + + # Add XZ support + # http://sourceforge.net/p/xarchiver/bugs/28/ + patch -Np1 -i ../xarchiver-0.5.2-add_xz_support.patch + + # Fix segfault on open with dialog + # http://sourceforge.net/p/xarchiver/bugs/52/ + patch -Np1 -i ../xarchiver-0.5.2-segfault-open-with.patch + + # Fix 7z support + # http://sourceforge.net/p/xarchiver/patches/5/ + patch -Np1 -i ../xarchiver-0.5.2-fix_7z_support.patch + + # Fix extraction when the Drag'n'Drop target path contains spaces + patch -Np1 -i ../xarchiver-0.5.2-drag-n-drop_escaped_path.patch + + # Fix segfault when deleting a file + patch -Np1 -i ../xarchiver-0.5.2-segfault-delete-file.patch + + # Tempolary disable rar support due to incompatiblity with rar 5.0 + patch -Np1 -i ../xarchiver-0.5.2-disable-rar-support.patch + + # Add more MIME types in the desktop file + patch -Np1 -i ../xarchiver-0.5.2-add_mime_types.patch + + # Update upstream URL + find -type f | xargs sed -i 's|http://xarchiver.xfce.org|http://xarchiver.sf.net|' +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --libexecdir=/usr/lib/xfce4 + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} Property changes on: xarchiver/trunk/PKGBUILD ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Added: xarchiver/trunk/xarchiver-0.5.2-add_mime_types.patch =================================================================== --- xarchiver/trunk/xarchiver-0.5.2-add_mime_types.patch (rev 0) +++ xarchiver/trunk/xarchiver-0.5.2-add_mime_types.patch 2014-01-24 05:18:05 UTC (rev 104640) @@ -0,0 +1,9 @@ +diff -Naur xarchiver-0.5.2.orig/xarchiver.desktop.in xarchiver-0.5.2/xarchiver.desktop.in +--- xarchiver-0.5.2.orig/xarchiver.desktop.in 2014-01-24 04:05:33.438561000 +0100 ++++ xarchiver-0.5.2/xarchiver.desktop.in 2014-01-24 04:44:00.625750394 +0100 +@@ -11,4 +11,4 @@ + X-MultipleArgs=false + Categories=GTK;Archiving;Utility; + StartupNotify=true +-MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-rar;application/x-rar-compressed;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;multipart/x-zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar; ++MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;multipart/x-zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-debian-package;application/x-rpm; Added: xarchiver/trunk/xarchiver-0.5.2-add_xz_support.patch =================================================================== --- xarchiver/trunk/xarchiver-0.5.2-add_xz_support.patch (rev 0) +++ xarchiver/trunk/xarchiver-0.5.2-add_xz_support.patch 2014-01-24 05:18:05 UTC (rev 104640) @@ -0,0 +1,397 @@ +diff -uNr xarchiver-0.5.2.orig/src/add_dialog.c xarchiver-0.5.2/src/add_dialog.c +--- xarchiver-0.5.2.orig/src/add_dialog.c 2008-11-10 19:41:31.000000000 +0900 ++++ xarchiver-0.5.2/src/add_dialog.c 2013-05-11 10:01:47.887094708 +0900 +@@ -209,7 +209,7 @@ + else + gtk_widget_set_size_request (add_dialog->dialog1,530,420); + +- if (archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_LZOP) ++ if (archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP) + gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(add_dialog->filechooserwidget1),FALSE); + else + gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(add_dialog->filechooserwidget1),TRUE); +@@ -222,7 +222,7 @@ + else + gtk_widget_set_sensitive(add_dialog->store_path,TRUE); + /* 7z doesn't appear to let the user chooses if storing full paths */ +- if (archive->type == XARCHIVETYPE_7ZIP || archive->type == XARCHIVETYPE_LZOP || archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA) ++ if (archive->type == XARCHIVETYPE_7ZIP || archive->type == XARCHIVETYPE_LZOP || archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ ) + { + flag = FALSE; + } +@@ -244,7 +244,7 @@ + flag = TRUE; + gtk_widget_set_sensitive(add_dialog->solid_archive,flag); + +- if (archive->type != XARCHIVETYPE_TAR && archive->type != XARCHIVETYPE_TAR_GZ && archive->type != XARCHIVETYPE_TAR_LZMA && archive->type != XARCHIVETYPE_TAR_BZ2 && archive->type != XARCHIVETYPE_TAR_LZOP) ++ if (archive->type != XARCHIVETYPE_TAR && archive->type != XARCHIVETYPE_TAR_GZ && archive->type != XARCHIVETYPE_TAR_LZMA && archive->type != XARCHIVETYPE_TAR_XZ && archive->type != XARCHIVETYPE_TAR_BZ2 && archive->type != XARCHIVETYPE_TAR_LZOP) + { + flag = TRUE; + if (archive->type == XARCHIVETYPE_7ZIP) +@@ -306,7 +306,7 @@ + g_signal_connect (G_OBJECT (add_dialog->compression_value),"value-changed",G_CALLBACK (fix_adjustment_value), NULL); + gtk_tooltips_set_tip (add_dialog->option_tooltip,add_dialog->compression_scale, compression_msg, NULL ); + +- if (archive->type == XARCHIVETYPE_TAR || archive->type == XARCHIVETYPE_TAR_GZ || archive->type == XARCHIVETYPE_TAR_LZMA || archive->type == XARCHIVETYPE_TAR_BZ2 || archive->type == XARCHIVETYPE_TAR_LZOP) ++ if (archive->type == XARCHIVETYPE_TAR || archive->type == XARCHIVETYPE_TAR_GZ || archive->type == XARCHIVETYPE_TAR_LZMA || archive->type == XARCHIVETYPE_TAR_XZ || archive->type == XARCHIVETYPE_TAR_BZ2 || archive->type == XARCHIVETYPE_TAR_LZOP) + flag = FALSE; + else + flag = TRUE; +diff -uNr xarchiver-0.5.2.orig/src/archive.h xarchiver-0.5.2/src/archive.h +--- xarchiver-0.5.2.orig/src/archive.h 2008-11-07 17:49:41.000000000 +0900 ++++ xarchiver-0.5.2/src/archive.h 2013-05-11 10:01:47.888094708 +0900 +@@ -30,6 +30,7 @@ + XARCHIVETYPE_BZIP2, + XARCHIVETYPE_GZIP, + XARCHIVETYPE_LZMA, ++ XARCHIVETYPE_XZ, + XARCHIVETYPE_LZOP, + XARCHIVETYPE_RAR, + XARCHIVETYPE_RPM, +@@ -37,6 +38,7 @@ + XARCHIVETYPE_TAR_BZ2, + XARCHIVETYPE_TAR_GZ, + XARCHIVETYPE_TAR_LZMA, ++ XARCHIVETYPE_TAR_XZ, + XARCHIVETYPE_TAR_LZOP, + XARCHIVETYPE_ZIP, + XARCHIVETYPE_LHA, +diff -uNr xarchiver-0.5.2.orig/src/bzip2.c xarchiver-0.5.2/src/bzip2.c +--- xarchiver-0.5.2.orig/src/bzip2.c 2008-11-10 20:17:48.000000000 +0900 ++++ xarchiver-0.5.2/src/bzip2.c 2013-05-11 10:01:47.888094708 +0900 +@@ -54,6 +54,15 @@ + archive->extract = extract[archive->type]; + xa_open_tar_compressed_file(archive); + } ++ else if (g_str_has_suffix(archive->escaped_path,".tar.xz") || g_str_has_suffix (archive->escaped_path,".txz")) ++ { ++ archive->type = XARCHIVETYPE_TAR_XZ; ++ archive->format = "TAR.XZ"; ++ archive->delete = delete[archive->type]; ++ archive->add = add[archive->type]; ++ archive->extract = extract[archive->type]; ++ xa_open_tar_compressed_file(archive); ++ } + else if (g_str_has_suffix(archive->escaped_path,".tar.lzop") || + g_str_has_suffix (archive->escaped_path,".tzo") || + g_str_has_suffix(archive->escaped_path,".tar.lzo")) +@@ -85,6 +94,12 @@ + executable = "lzma "; + len = 5; + } ++ else if (archive->type == XARCHIVETYPE_XZ) ++ { ++ archive->format = "XZ"; ++ executable = "xz "; ++ len = 5; ++ } + else if (archive->type == XARCHIVETYPE_LZOP) + { + archive->format = "LZOP"; +@@ -163,6 +178,8 @@ + command = g_strconcat(tar," tfjv ",archive->escaped_path,NULL); + else if (archive->type == XARCHIVETYPE_TAR_LZMA) + command = g_strconcat(tar," tv --use-compress-program=lzma -f ",archive->escaped_path,NULL); ++ else if (archive->type == XARCHIVETYPE_TAR_XZ) ++ command = g_strconcat(tar," tv --use-compress-program=xz -f ",archive->escaped_path,NULL); + else if (archive->type == XARCHIVETYPE_TAR_LZOP) + command = g_strconcat(tar," tv --use-compress-program=lzop -f ",archive->escaped_path,NULL); + /* else fail? */ +@@ -205,6 +222,11 @@ + executable = "lzma "; + len = 5; + } ++ else if (archive->type == XARCHIVETYPE_XZ) ++ { ++ executable = "xz "; ++ len = 5; ++ } + else if (archive->type == XARCHIVETYPE_LZOP) + { + executable = "lzop "; +diff -uNr xarchiver-0.5.2.orig/src/extract_dialog.c xarchiver-0.5.2/src/extract_dialog.c +--- xarchiver-0.5.2.orig/src/extract_dialog.c 2008-11-10 19:28:11.000000000 +0900 ++++ xarchiver-0.5.2/src/extract_dialog.c 2013-05-11 10:01:47.889094708 +0900 +@@ -815,6 +815,11 @@ + archive->type = XARCHIVETYPE_TAR_LZMA; + archive->extract = extract[XARCHIVETYPE_TAR_LZMA]; + } ++ else if (g_str_has_suffix(archive->escaped_path,".tar.xz")|| g_str_has_suffix (archive->escaped_path,".txz")) ++ { ++ archive->type = XARCHIVETYPE_TAR_XZ; ++ archive->extract = extract[XARCHIVETYPE_TAR_XZ]; ++ } + else if (g_str_has_suffix(archive->escaped_path,".tar.lzop") || + g_str_has_suffix (archive->escaped_path,".tzo") || + g_str_has_suffix(archive->escaped_path,".tar.lzo")) +diff -uNr xarchiver-0.5.2.orig/src/main.c xarchiver-0.5.2/src/main.c +--- xarchiver-0.5.2.orig/src/main.c 2008-11-10 20:21:43.000000000 +0900 ++++ xarchiver-0.5.2/src/main.c 2013-05-11 10:17:01.696094044 +0900 +@@ -296,9 +296,10 @@ + open_archive[XARCHIVETYPE_BZIP2] = &xa_open_bzip2_lzma; + open_archive[XARCHIVETYPE_GZIP] = &xa_open_gzip; + open_archive[XARCHIVETYPE_LZMA] = &xa_open_bzip2_lzma; ++ open_archive[XARCHIVETYPE_XZ] = &xa_open_bzip2_lzma; + open_archive[XARCHIVETYPE_RAR] = &xa_open_rar; + open_archive[XARCHIVETYPE_RPM] = &xa_open_rpm; +- open_archive[XARCHIVETYPE_TAR] = open_archive[XARCHIVETYPE_TAR_BZ2] = open_archive[XARCHIVETYPE_TAR_GZ] = open_archive[XARCHIVETYPE_TAR_LZMA] = open_archive[XARCHIVETYPE_TAR_LZOP] = &xa_open_tar; ++ open_archive[XARCHIVETYPE_TAR] = open_archive[XARCHIVETYPE_TAR_BZ2] = open_archive[XARCHIVETYPE_TAR_GZ] = open_archive[XARCHIVETYPE_TAR_LZMA] = open_archive[XARCHIVETYPE_TAR_XZ] = open_archive[XARCHIVETYPE_TAR_LZOP] = &xa_open_tar; + open_archive[XARCHIVETYPE_ZIP] = &xa_open_zip; + open_archive[XARCHIVETYPE_LHA] = &xa_open_lha; + open_archive[XARCHIVETYPE_LZOP] = &xa_open_bzip2_lzma; +@@ -310,9 +311,10 @@ + delete[XARCHIVETYPE_BZIP2] = 0; + delete[XARCHIVETYPE_GZIP] = 0; + delete[XARCHIVETYPE_LZMA] = 0; ++ delete[XARCHIVETYPE_XZ] = 0; + delete[XARCHIVETYPE_RAR] = &xa_rar_delete; + delete[XARCHIVETYPE_RPM] = 0; +- delete[XARCHIVETYPE_TAR] = delete[XARCHIVETYPE_TAR_BZ2] = delete[XARCHIVETYPE_TAR_GZ] = delete[XARCHIVETYPE_TAR_LZMA] = delete[XARCHIVETYPE_TAR_LZOP] = &xa_tar_delete; ++ delete[XARCHIVETYPE_TAR] = delete[XARCHIVETYPE_TAR_BZ2] = delete[XARCHIVETYPE_TAR_GZ] = delete[XARCHIVETYPE_TAR_LZMA] = delete[XARCHIVETYPE_TAR_XZ] = delete[XARCHIVETYPE_TAR_LZOP] = &xa_tar_delete; + delete[XARCHIVETYPE_ZIP] = &xa_zip_delete; + delete[XARCHIVETYPE_LHA] = &xa_lha_delete; + delete[XARCHIVETYPE_LZOP] = 0; +@@ -322,10 +324,10 @@ + add[XARCHIVETYPE_7ZIP] = &xa_7zip_add; + add[XARCHIVETYPE_ARJ] = &xa_arj_add; + add[XARCHIVETYPE_DEB] = 0; +- add[XARCHIVETYPE_BZIP2] = add[XARCHIVETYPE_GZIP] = add[XARCHIVETYPE_LZMA] = &xa_tar_add; ++ add[XARCHIVETYPE_BZIP2] = add[XARCHIVETYPE_GZIP] = add[XARCHIVETYPE_LZMA] = add[XARCHIVETYPE_XZ] = &xa_tar_add; + add[XARCHIVETYPE_RAR] = &xa_rar_add; + add[XARCHIVETYPE_RPM] = 0; +- add[XARCHIVETYPE_TAR] = add[XARCHIVETYPE_TAR_BZ2] = add[XARCHIVETYPE_TAR_GZ] = add[XARCHIVETYPE_TAR_LZMA] = add[XARCHIVETYPE_TAR_LZOP] = &xa_tar_add; ++ add[XARCHIVETYPE_TAR] = add[XARCHIVETYPE_TAR_BZ2] = add[XARCHIVETYPE_TAR_GZ] = add[XARCHIVETYPE_TAR_LZMA] = add[XARCHIVETYPE_TAR_XZ] = add[XARCHIVETYPE_TAR_LZOP] = &xa_tar_add; + add[XARCHIVETYPE_ZIP] = &xa_zip_add; + add[XARCHIVETYPE_LHA] = &xa_lha_add; + add[XARCHIVETYPE_LZOP] = &xa_tar_add; +@@ -334,10 +336,10 @@ + extract[XARCHIVETYPE_7ZIP] = &xa_7zip_extract; + extract[XARCHIVETYPE_ARJ] = &xa_arj_extract; + extract[XARCHIVETYPE_DEB] = &xa_deb_extract;; +- extract[XARCHIVETYPE_BZIP2] = extract[XARCHIVETYPE_GZIP] = extract[XARCHIVETYPE_LZMA] = &xa_tar_extract; ++ extract[XARCHIVETYPE_BZIP2] = extract[XARCHIVETYPE_GZIP] = extract[XARCHIVETYPE_LZMA] = extract[XARCHIVETYPE_XZ] = &xa_tar_extract; + extract[XARCHIVETYPE_RAR] = &xa_rar_extract; + extract[XARCHIVETYPE_RPM] = &xa_rpm_extract; +- extract[XARCHIVETYPE_TAR] = extract[XARCHIVETYPE_TAR_BZ2] = extract[XARCHIVETYPE_TAR_GZ] = extract[XARCHIVETYPE_TAR_LZMA] = extract[XARCHIVETYPE_TAR_LZOP] = &xa_tar_extract; ++ extract[XARCHIVETYPE_TAR] = extract[XARCHIVETYPE_TAR_BZ2] = extract[XARCHIVETYPE_TAR_GZ] = extract[XARCHIVETYPE_TAR_LZMA] = extract[XARCHIVETYPE_TAR_XZ] = extract[XARCHIVETYPE_TAR_LZOP] = &xa_tar_extract; + extract[XARCHIVETYPE_ZIP] = &xa_zip_extract; + extract[XARCHIVETYPE_LHA] = &xa_lha_extract; + extract[XARCHIVETYPE_LZOP] = &xa_tar_extract; +@@ -345,10 +347,10 @@ + test[0] = 0; + test[XARCHIVETYPE_7ZIP] = &xa_7zip_test; + test[XARCHIVETYPE_ARJ] = &xa_arj_test; +- test[XARCHIVETYPE_DEB] = test[XARCHIVETYPE_BZIP2] = test[XARCHIVETYPE_GZIP] = test[XARCHIVETYPE_LZMA] = 0; ++ test[XARCHIVETYPE_DEB] = test[XARCHIVETYPE_BZIP2] = test[XARCHIVETYPE_GZIP] = test[XARCHIVETYPE_LZMA] = test[XARCHIVETYPE_XZ] = 0; + test[XARCHIVETYPE_RAR] = &xa_rar_test; + test[XARCHIVETYPE_RPM] = 0; +- test[XARCHIVETYPE_TAR] = test[XARCHIVETYPE_TAR_BZ2] = test[XARCHIVETYPE_TAR_GZ] = test[XARCHIVETYPE_TAR_LZMA] = test[XARCHIVETYPE_TAR_LZOP] = 0; ++ test[XARCHIVETYPE_TAR] = test[XARCHIVETYPE_TAR_BZ2] = test[XARCHIVETYPE_TAR_GZ] = test[XARCHIVETYPE_TAR_LZMA] = test[XARCHIVETYPE_TAR_XZ] = test[XARCHIVETYPE_TAR_LZOP] = 0; + test[XARCHIVETYPE_ZIP] = &xa_zip_test; + test[XARCHIVETYPE_LHA] = &xa_lha_test; + test[XARCHIVETYPE_LZOP] = 0; +@@ -392,6 +394,14 @@ + g_free (absolute_path); + } + ++ absolute_path = g_find_program_in_path("xz"); ++ if ( absolute_path ) ++ { ++ ArchiveType = g_list_append(ArchiveType, "xz"); ++ ArchiveSuffix = g_list_append(ArchiveSuffix, "*.xz"); ++ g_free (absolute_path); ++ } ++ + absolute_path = g_find_program_in_path("lzop"); + if ( absolute_path ) + { +@@ -460,6 +470,11 @@ + ArchiveType = g_list_append(ArchiveType, "tar.lzma"); + ArchiveSuffix = g_list_append(ArchiveSuffix, "*.tlz"); + } ++ if ( g_list_find ( ArchiveType , "xz") ) ++ { ++ ArchiveType = g_list_append(ArchiveType, "tar.xz"); ++ ArchiveSuffix = g_list_append(ArchiveSuffix, "*.txz"); ++ } + if ( g_list_find ( ArchiveType , "lzo") ) + { + ArchiveType = g_list_append(ArchiveType, "tar.lzo"); +@@ -528,6 +543,8 @@ + archive->type = XARCHIVETYPE_TAR_GZ; + else if ( g_str_has_suffix ( archive->escaped_path , ".tar.lzma") || g_str_has_suffix ( archive->escaped_path , ".tlz") ) + archive->type = XARCHIVETYPE_TAR_LZMA; ++ else if ( g_str_has_suffix ( archive->escaped_path , ".tar.xz") || g_str_has_suffix ( archive->escaped_path , ".txz") ) ++ archive->type = XARCHIVETYPE_TAR_XZ; + else if ( g_str_has_suffix ( archive->escaped_path , ".tar.lzo") || + g_str_has_suffix ( archive->escaped_path , ".tzo") || + g_str_has_suffix ( archive->escaped_path , ".tar.lzop")) +diff -uNr xarchiver-0.5.2.orig/src/new_dialog.c xarchiver-0.5.2/src/new_dialog.c +--- xarchiver-0.5.2.orig/src/new_dialog.c 2008-11-11 17:28:46.000000000 +0900 ++++ xarchiver-0.5.2/src/new_dialog.c 2013-05-11 10:01:47.890094708 +0900 +@@ -202,6 +202,8 @@ + type = XARCHIVETYPE_GZIP; + else if (strcmp ( ComboArchiveType,"lzma") == 0) + type = XARCHIVETYPE_LZMA; ++ else if (strcmp ( ComboArchiveType,"xz") == 0) ++ type = XARCHIVETYPE_XZ; + else if (strcmp ( ComboArchiveType,"lzo") == 0) + type = XARCHIVETYPE_LZOP; + else if (strcmp ( ComboArchiveType,"rar") == 0) +@@ -214,6 +216,8 @@ + type = XARCHIVETYPE_TAR_GZ; + else if (strcmp ( ComboArchiveType,"tar.lzma") == 0) + type = XARCHIVETYPE_TAR_LZMA; ++ else if (strcmp ( ComboArchiveType,"tar.xz") == 0) ++ type = XARCHIVETYPE_TAR_XZ; + else if (strcmp ( ComboArchiveType,"tar.lzo") == 0) + type = XARCHIVETYPE_TAR_LZOP; + else if (strcmp ( ComboArchiveType,"jar") == 0 || strcmp ( ComboArchiveType,"zip") == 0 ) +diff -Naur xarchiver-0.5.2.orig/src/rpm.c xarchiver-0.5.2/src/rpm.c +--- xarchiver-0.5.2.orig/src/rpm.c 2014-01-24 03:07:47.729711000 +0100 ++++ xarchiver-0.5.2/src/rpm.c 2014-01-24 03:12:43.717122918 +0100 +@@ -111,8 +111,10 @@ + } + if (xa_detect_archive_type (gzip_tmp) == XARCHIVETYPE_GZIP) + executable = "gzip -dc "; +- else ++ else if (xa_detect_archive_type (gzip_tmp) == XARCHIVETYPE_BZIP2) + executable = "bzip2 -dc "; ++ else ++ executable = "xz -dc "; + + command = g_strconcat("sh -c \"",executable,gzip_tmp," > ",archive->tmp,"/file.cpio\"",NULL); + g_free(gzip_tmp);diff -uNr xarchiver-0.5.2.orig/src/tar.c xarchiver-0.5.2/src/tar.c +--- xarchiver-0.5.2.orig/src/tar.c 2008-11-10 19:28:34.000000000 +0900 ++++ xarchiver-0.5.2/src/tar.c 2013-05-11 10:12:01.027094262 +0900 +@@ -242,6 +242,17 @@ + files->str , NULL ); + break; + ++ case XARCHIVETYPE_TAR_XZ: ++ if ( g_file_test ( archive->escaped_path , G_FILE_TEST_EXISTS ) ) ++ xa_add_delete_bzip2_gzip_lzma_compressed_tar (files,archive,1); ++ else ++ command = g_strconcat (tar, " ", ++ archive->add_recurse ? "" : "--no-recursion ", ++ archive->remove_files ? "--remove-files " : "", ++ "--use-compress-program=xz -cvvf ",archive->escaped_path, ++ files->str , NULL ); ++ break; ++ + case XARCHIVETYPE_TAR_LZOP: + if ( g_file_test ( archive->escaped_path , G_FILE_TEST_EXISTS ) ) + xa_add_delete_bzip2_gzip_lzma_compressed_tar (files,archive,1); +@@ -265,6 +276,10 @@ + command = g_strconcat("sh -c \"lzma -c ",files->str,"> ",archive->escaped_path,"\"",NULL); + break; + ++ case XARCHIVETYPE_XZ: ++ command = g_strconcat("sh -c \"xz -c ",files->str,"> ",archive->escaped_path,"\"",NULL); ++ break; ++ + case XARCHIVETYPE_LZOP: + command = g_strconcat("sh -c \"lzop -c ",files->str,"> ",archive->escaped_path,"\"",NULL); + break; +@@ -378,6 +393,25 @@ + } + break; + ++ case XARCHIVETYPE_TAR_XZ: ++ if (archive->full_path == 1) ++ { ++ command = g_strconcat (tar, " --use-compress-program=xz -xvf " , archive->escaped_path, ++ #ifdef __FreeBSD__ ++ archive->overwrite ? " " : " -k", ++ #else ++ archive->overwrite ? " --overwrite" : " --keep-old-files", ++ #endif ++ archive->tar_touch ? " --touch" : "", ++ " -C ",archive->extraction_path," ",names->str,NULL); ++ } ++ else ++ { ++ result = xa_extract_tar_without_directories ( "tar --use-compress-program=xz -xvf ",archive,names->str); ++ command = NULL; ++ } ++ break; ++ + case XARCHIVETYPE_TAR_LZOP: + if (archive->full_path == 1) + { +@@ -402,6 +436,11 @@ + command = NULL; + break; + ++ case XARCHIVETYPE_XZ: ++ result = lzma_bzip2_extract(archive,NULL); ++ command = NULL; ++ break; ++ + case XARCHIVETYPE_LZOP: + result = lzma_bzip2_extract(archive,NULL); + command = NULL; +@@ -449,6 +488,10 @@ + executable = "lzma -f "; + filename = "dummy.lzma"; + break; ++ case XARCHIVETYPE_TAR_XZ: ++ executable = "xz -f "; ++ filename = "dummy.xz"; ++ break; + case XARCHIVETYPE_TAR_LZOP: + executable = "lzop -f "; + filename = "dummy.lzo"; +@@ -493,7 +536,7 @@ + + gboolean is_tar_compressed (gint type) + { +- return (type == XARCHIVETYPE_TAR_BZ2 || type == XARCHIVETYPE_TAR_GZ || type == XARCHIVETYPE_TAR_LZMA || type == XARCHIVETYPE_TAR_LZOP); ++ return (type == XARCHIVETYPE_TAR_BZ2 || type == XARCHIVETYPE_TAR_GZ || type == XARCHIVETYPE_TAR_LZMA || type == XARCHIVETYPE_TAR_XZ || type == XARCHIVETYPE_TAR_LZOP); + } + + gboolean xa_extract_tar_without_directories (gchar *string,XArchive *archive,gchar *files_to_extract) +diff -uNr xarchiver-0.5.2.orig/src/window.c xarchiver-0.5.2/src/window.c +--- xarchiver-0.5.2.orig/src/window.c 2008-11-11 17:31:45.000000000 +0900 ++++ xarchiver-0.5.2/src/window.c 2013-05-11 10:01:47.892094708 +0900 +@@ -1125,6 +1125,8 @@ + xx = XARCHIVETYPE_GZIP; + else if (memcmp ( magic,"\x5d\x00\x00\x80",4) == 0) + xx = XARCHIVETYPE_LZMA; ++ else if ((memcmp ( magic,"\xFD" "7zXZ\x00\x00",7) == 0) || (memcmp ( magic,"\xFD" "7zXZ\x00\x10",7) == 0)) ++ xx = XARCHIVETYPE_XZ; + else if (memcmp ( magic,"\211LZO",4) == 0) + xx = XARCHIVETYPE_LZOP; + else if (memcmp ( magic,"\xed\xab\xee\xdb",4) == 0) +@@ -1462,6 +1464,7 @@ + case XARCHIVETYPE_GZIP: + case XARCHIVETYPE_BZIP2: + case XARCHIVETYPE_LZMA: ++ case XARCHIVETYPE_XZ: + case XARCHIVETYPE_LZOP: + case XARCHIVETYPE_RPM: + pos = 3; +@@ -1481,6 +1484,7 @@ + case XARCHIVETYPE_TAR_GZ: + case XARCHIVETYPE_TAR_BZ2: + case XARCHIVETYPE_TAR_LZMA: ++ case XARCHIVETYPE_TAR_XZ: + case XARCHIVETYPE_TAR_LZOP: + case XARCHIVETYPE_TAR: + case XARCHIVETYPE_ZIP: +@@ -1525,6 +1529,7 @@ + case XARCHIVETYPE_GZIP: + case XARCHIVETYPE_BZIP2: + case XARCHIVETYPE_LZMA: ++ case XARCHIVETYPE_XZ: + case XARCHIVETYPE_LZOP: + case XARCHIVETYPE_RPM: + pos = 3; +@@ -1544,6 +1549,7 @@ + case XARCHIVETYPE_TAR_GZ: + case XARCHIVETYPE_TAR_BZ2: + case XARCHIVETYPE_TAR_LZMA: ++ case XARCHIVETYPE_TAR_XZ: + case XARCHIVETYPE_TAR_LZOP: + case XARCHIVETYPE_TAR: + case XARCHIVETYPE_ZIP: Added: xarchiver/trunk/xarchiver-0.5.2-disable-rar-support.patch =================================================================== --- xarchiver/trunk/xarchiver-0.5.2-disable-rar-support.patch (rev 0) +++ xarchiver/trunk/xarchiver-0.5.2-disable-rar-support.patch 2014-01-24 05:18:05 UTC (rev 104640) @@ -0,0 +1,35 @@ +diff -Naur xarchiver-0.5.2.orig/src/main.c xarchiver-0.5.2/src/main.c +--- xarchiver-0.5.2.orig/src/main.c 2014-01-24 04:31:20.288863040 +0100 ++++ xarchiver-0.5.2/src/main.c 2014-01-24 04:31:45.252847778 +0100 +@@ -420,7 +420,7 @@ + //ArchiveSuffix = g_list_append(ArchiveSuffix, ""); + } + +- absolute_path = g_find_program_in_path ("rar"); ++ /* absolute_path = g_find_program_in_path ("rar"); + if ( absolute_path ) + { + ArchiveType = g_list_append(ArchiveType, "rar"); +@@ -437,7 +437,7 @@ + ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar"); + g_free (absolute_path); + } +- } ++ } */ + + absolute_path = g_find_program_in_path("cpio"); + if ( absolute_path ) +diff -Naur xarchiver-0.5.2.orig/src/window.c xarchiver-0.5.2/src/window.c +--- xarchiver-0.5.2.orig/src/window.c 2014-01-24 04:05:33.455228000 +0100 ++++ xarchiver-0.5.2/src/window.c 2014-01-24 04:15:30.624117028 +0100 +@@ -1117,8 +1117,9 @@ + xx = XARCHIVETYPE_ZIP; + else if (memcmp (magic,"\x60\xea",2) == 0) + xx = XARCHIVETYPE_ARJ; ++ /* Tempolary disable rar support due to incompatiblity with rar 5.0 + else if (memcmp ( magic,"\x52\x61\x72\x21",4) == 0) +- xx = XARCHIVETYPE_RAR; ++ xx = XARCHIVETYPE_RAR; */ + else if (memcmp ( magic,"\x42\x5a\x68",3) == 0) + xx = XARCHIVETYPE_BZIP2; + else if (memcmp ( magic,"\x1f\x8b",2) == 0 || memcmp ( magic,"\x1f\x9d",2) == 0) Added: xarchiver/trunk/xarchiver-0.5.2-drag-n-drop_escaped_path.patch =================================================================== --- xarchiver/trunk/xarchiver-0.5.2-drag-n-drop_escaped_path.patch (rev 0) +++ xarchiver/trunk/xarchiver-0.5.2-drag-n-drop_escaped_path.patch 2014-01-24 05:18:05 UTC (rev 104640) @@ -0,0 +1,13 @@ +diff -Naur xarchiver-0.5.2.orig/src/window.c xarchiver-0.5.2/src/window.c +--- xarchiver-0.5.2.orig/src/window.c 2012-01-12 13:28:54.000000000 +0100 ++++ xarchiver-0.5.2/src/window.c 2012-01-23 20:43:49.622745851 +0100 +@@ -1724,6 +1724,9 @@ + gtk_tree_selection_selected_foreach (selection,(GtkTreeSelectionForeachFunc) xa_concat_selected_filenames,&names); + archive->full_path = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (extract_window->extract_full)); + archive->overwrite = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (extract_window->overwrite_check)); ++ gchar *unescaped_extraction_path = archive->extraction_path; ++ archive->extraction_path = xa_escape_filename(unescaped_extraction_path, "$'`\"\\!?* ()[]&|:;<>#"); ++ g_free(unescaped_extraction_path); + (*archive->extract) (archive,names); + + g_list_foreach (row_list,(GFunc) gtk_tree_path_free,NULL); Added: xarchiver/trunk/xarchiver-0.5.2-fix_7z_support.patch =================================================================== --- xarchiver/trunk/xarchiver-0.5.2-fix_7z_support.patch (rev 0) +++ xarchiver/trunk/xarchiver-0.5.2-fix_7z_support.patch 2014-01-24 05:18:05 UTC (rev 104640) @@ -0,0 +1,110 @@ +diff -Nur xarchiver-0.5.2.orig/src/7zip.c xarchiver-0.5.2/src/7zip.c +--- xarchiver-0.5.2.orig/src/7zip.c 2008-10-25 00:41:17.000000000 +1300 ++++ xarchiver-0.5.2/src/7zip.c 2010-12-15 11:24:26.000000000 +1300 +@@ -64,15 +64,14 @@ + XEntry *entry; + gchar *filename; + gpointer item[5]; +- gint linesize = 0,n = 0,a = 0; +- gboolean dir = FALSE; ++ gint linesize = 0,a = 0; + + if (last_line) + return; + + if (jump_header == FALSE) + { +- if (line[0] == '-') ++ if ((line[0] == '-') && (line[3] != NULL)) + { + jump_header = TRUE; + return; +@@ -93,71 +92,42 @@ + item[4] = line; + + /* Time */ +- for(n=13; n < linesize; ++n) +- if(line[n] == ' ') +- break; +- line[n] = '\0'; ++ line[19] = '\0'; + item[3] = line + 11; +- a = ++n; + + /* Permissions */ +- for(; n < linesize; n++) +- if(line[n] == ' ') +- break; +- line[n] = '\0'; +- if ((line+a)[0] == 'D') +- dir = TRUE; +- item[2] = line + a; ++ line[25] = '\0'; ++ item[2] = line + 20; + + /* Size */ +- for(++n; n < linesize; ++n) +- if(line[n] >= '0' && line[n] <= '9') ++ for(a=26; a < linesize; ++a) ++ if(line[a] >= '0' && line[a] <= '9') + break; +- a = n; + +- for(; n < linesize; ++n) +- if(line[n] == ' ') +- break; +- +- line[n] = '\0'; ++ line[38] = '\0'; + item[0] = line + a; + archive->dummy_size += g_ascii_strtoull(item[0],NULL,0); + + /* Compressed */ +- for(++n; n < linesize; ++n) +- if(line[n] >= '0' && line[n] <= '9') +- break; +- a = n; +- +- for(; n < linesize; ++n) +- if(line[n] == ' ') +- break; +- +- line[n] = '\0'; +- +- if (line[50] != ' ') ++ /* Is this item solid? */ ++ if (line[50] == ' ') + { +- n+=2; +- item[1] = line + a; + line[linesize-1] = '\0'; +- filename = g_strdup(line + n); ++ filename = g_strdup(line + 53); + } +- /* Is this a solid archive? */ ++ + else + { +- item[1] = "0"; +- line[n-1] = '\0'; ++ for(a=39; a < linesize; ++a) ++ if(line[a] >= '0' && line[a] <= '9') ++ break; ++ ++ line[51] = '\0'; ++ item[1] = line + a; ++ line[linesize-1] = '\0'; + filename = g_strdup(line + 53); + } + +- /* Work around for 7za which doesn't +- * output / with directories */ +- if (dir) +- { +- gchar *filename_with_slash = g_strconcat (filename,"/",NULL); +- g_free (filename); +- filename = filename_with_slash; +- } + entry = xa_set_archive_entries_for_each_row (archive,filename,item); + g_free(filename); + } Added: xarchiver/trunk/xarchiver-0.5.2-no-donators-menu.patch =================================================================== --- xarchiver/trunk/xarchiver-0.5.2-no-donators-menu.patch (rev 0) +++ xarchiver/trunk/xarchiver-0.5.2-no-donators-menu.patch 2014-01-24 05:18:05 UTC (rev 104640) @@ -0,0 +1,50 @@ +--- xarchiver/trunk/src/interface.c 2009/03/19 18:03:52 29676 ++++ xarchiver/trunk/src/interface.c 2009/03/19 20:48:19 29677 +@@ -310,22 +310,14 @@ + gtk_widget_show (tmp_image); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (help1),tmp_image); + ++ donate = gtk_image_menu_item_new_with_mnemonic (_("_Donate")); ++ gtk_widget_show (donate); ++ gtk_container_add (GTK_CONTAINER (menuitem4_menu),donate); ++ + about1 = gtk_image_menu_item_new_from_stock ("gtk-about",accel_group); + gtk_widget_show (about1); + gtk_container_add (GTK_CONTAINER (menuitem4_menu),about1); + +- thanks_to = gtk_image_menu_item_new_with_mnemonic (_("_Thanks to")); +- gtk_widget_show (thanks_to); +- gtk_container_add (GTK_CONTAINER (menuitem4_menu),thanks_to); +- +- thanks_to_submenu = gtk_menu_new(); +- gtk_widget_show (thanks_to_submenu); +- gtk_menu_item_set_submenu (GTK_MENU_ITEM (thanks_to),thanks_to_submenu); +- +- donators = gtk_image_menu_item_new_with_mnemonic ("Your name and website here"); +- gtk_widget_show (donators); +- gtk_container_add (GTK_CONTAINER (thanks_to_submenu),donators); +- + /* Create the toolbar */ + toolbar1 = gtk_toolbar_new (); + gtk_widget_show (toolbar1); +@@ -543,7 +535,7 @@ + g_signal_connect ((gpointer) multi_extract_menu,"activate",G_CALLBACK (xa_show_multi_extract_dialog),NULL); + g_signal_connect ((gpointer) help1,"activate",G_CALLBACK (xa_show_help),NULL); + g_signal_connect ((gpointer) about1,"activate",G_CALLBACK (xa_about),NULL); +- g_signal_connect ((gpointer) donators,"activate",G_CALLBACK (xa_show_donate_page_on_the_web),NULL); ++ g_signal_connect ((gpointer) donate,"activate",G_CALLBACK (xa_show_donate_page_on_the_web),NULL); + + g_signal_connect ((gpointer) New_button, "clicked",G_CALLBACK (xa_new_archive),NULL); + g_signal_connect ((gpointer) Open_button, "clicked",G_CALLBACK (xa_open_archive),NULL); +--- xarchiver/trunk/src/interface.h 2008/11/04 10:06:17 28603 ++++ xarchiver/trunk/src/interface.h 2009/03/19 20:48:19 29677 +@@ -48,8 +48,8 @@ + *name_label, *type_label, *compression_data, *encrypted_data, *encrypted_label,*number_of_files_data, *content_data, *comment_data, *size_data, *modified_data, *path_data, *type_data, + *name_data, *separatormenuitem1, *separatormenuitem2, *separatormenuitem3, *separatormenuitem4, *separatormenuitem5, *separatormenuitem6, *quit1, + *close1, *check_menu, *properties, *menuitem2, *menuitem2_menu, *addfile, *extract_menu, *delete_menu, *comment_menu, *multi_extract_menu,*view_shell_output1, +-*prefs_menu,*password_entry_menu, *image1, *image2, *menuitem4, *thanks_to,*thanks_to_submenu,*select_all,*deselect_all,*select_pattern, *exe_menu, *menuitem4_menu, +-*about1, *help1, *donators,*toolbar1, *toolbar2, *hbox1, *tmp_image, *pad_image, *New_button, *Open_button, *back_button, *home_button, *forward_button, ++*prefs_menu,*password_entry_menu, *image1, *image2, *menuitem4, *donate,*select_all,*deselect_all,*select_pattern, *exe_menu, *menuitem4_menu, ++*about1, *help1,*toolbar1, *toolbar2, *hbox1, *tmp_image, *pad_image, *New_button, *Open_button, *back_button, *home_button, *forward_button, + *up_button,*separatortoolitem1,*separatortoolitem2,*separatortoolitem3,*AddFile_button,*Extract_button,*Stop_button,*toolitem1,*location_label, + *location_entry,*hpaned1,*archive_dir_treeview,*scrolledwindow2,*ddelete,*rename_menu,*rrename,*cut,*copy,*paste,*view,*open_popupmenu; Added: xarchiver/trunk/xarchiver-0.5.2-segfault-delete-file.patch =================================================================== --- xarchiver/trunk/xarchiver-0.5.2-segfault-delete-file.patch (rev 0) +++ xarchiver/trunk/xarchiver-0.5.2-segfault-delete-file.patch 2014-01-24 05:18:05 UTC (rev 104640) @@ -0,0 +1,21 @@ +diff -Naur xarchiver-0.5.2.orig/src/window.c xarchiver-0.5.2/src/window.c +--- xarchiver-0.5.2.orig/src/window.c 2014-01-24 01:22:27.931903000 +0100 ++++ xarchiver-0.5.2/src/window.c 2014-01-24 01:24:49.952825715 +0100 +@@ -1573,7 +1573,7 @@ + gtk_widget_show(selected_frame); + gtk_widget_set_sensitive(deselect_all,TRUE); + } +- if ( (archive->type == XARCHIVETYPE_RAR && unrar) || archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP) ++ if ( (archive->type == XARCHIVETYPE_RAR && unrar) || archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP) + { + gtk_widget_set_sensitive (delete_menu,FALSE); + gtk_widget_set_sensitive (rename_menu,FALSE); +@@ -2287,7 +2287,7 @@ + else + value = TRUE; + } +- if (archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_DEB || archive->type == XARCHIVETYPE_RPM) ++ if (archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP || archive->type == XARCHIVETYPE_DEB || archive->type == XARCHIVETYPE_RPM) + { + gtk_widget_set_sensitive(ddelete,FALSE); + gtk_widget_set_sensitive(rrename,FALSE); Added: xarchiver/trunk/xarchiver-0.5.2-segfault-open-with.patch =================================================================== --- xarchiver/trunk/xarchiver-0.5.2-segfault-open-with.patch (rev 0) +++ xarchiver/trunk/xarchiver-0.5.2-segfault-open-with.patch 2014-01-24 05:18:05 UTC (rev 104640) @@ -0,0 +1,15 @@ +diff -pur xarchiver-0.5.2/src/open-with-dlg.c xarchiver-0.5.2.new/src/open-with-dlg.c +--- xarchiver-0.5.2/src/open-with-dlg.c 2008-10-17 14:06:03.000000000 +0200 ++++ xarchiver-0.5.2.new/src/open-with-dlg.c 2011-05-16 21:48:49.042839556 +0200 +@@ -289,7 +289,10 @@ static void xa_open_with_dialog_selectio + GtkTreeIter iter; + GtkTreeModel *model; + +- gtk_tree_selection_get_selected(selection,&model,&iter); ++ if (!gtk_tree_selection_get_selected(selection,&model,&iter)) { ++ return; ++ } ++ + gtk_tree_model_get(model,&iter,2,&exec,-1); + + gtk_entry_set_text(GTK_ENTRY(data->custom_command_entry),exec); Added: xarchiver/trunk/xarchiver.install =================================================================== --- xarchiver/trunk/xarchiver.install (rev 0) +++ xarchiver/trunk/xarchiver.install 2014-01-24 05:18:05 UTC (rev 104640) @@ -0,0 +1,12 @@ +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 +}
