diff options
author | Tom Wijsman <tomwij@gentoo.org> | 2014-04-03 14:05:41 +0000 |
---|---|---|
committer | Tom Wijsman <tomwij@gentoo.org> | 2014-04-03 14:05:41 +0000 |
commit | 89085d74f8df69b141bf2692a0497dbfed58bd13 (patch) | |
tree | b5ec349bc1d8eeebc30f326d11779f481a510162 /mate-base | |
parent | add fetch restriction and fix LICENSE wrt #465986 (diff) | |
download | gentoo-2-89085d74f8df69b141bf2692a0497dbfed58bd13.tar.gz gentoo-2-89085d74f8df69b141bf2692a0497dbfed58bd13.tar.bz2 gentoo-2-89085d74f8df69b141bf2692a0497dbfed58bd13.zip |
Revision bump. Backported x-caja-desktop issue solution to fix unnecessary multiple windows popping up. Fixes bug #506660, reported by Joakim Tjernlund; backport inspired by infirit.
(Portage version: HEAD/cvs/Linux x86_64, signed Manifest commit with key 6D34E57D)
Diffstat (limited to 'mate-base')
3 files changed, 212 insertions, 1 deletions
diff --git a/mate-base/mate-file-manager/ChangeLog b/mate-base/mate-file-manager/ChangeLog index 60b3f6808fbd..1365226eebd6 100644 --- a/mate-base/mate-file-manager/ChangeLog +++ b/mate-base/mate-file-manager/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for mate-base/mate-file-manager # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/mate-base/mate-file-manager/ChangeLog,v 1.5 2014/03/10 22:55:54 tomwij Exp $ +# $Header: /var/cvsroot/gentoo-x86/mate-base/mate-file-manager/ChangeLog,v 1.6 2014/04/03 14:05:41 tomwij Exp $ + +*mate-file-manager-1.6.3-r1 (03 Apr 2014) + + 03 Apr 2014; Tom Wijsman <TomWij@gentoo.org> +files/mate-file-manager-1.6.3-r1 + -fix-x-caja-desktop-multiple-windows-issue.patch, + +mate-file-manager-1.6.3-r1.ebuild: + Revision bump. Backported x-caja-desktop issue solution to fix unnecessary + multiple windows popping up. Fixes bug #506660, reported by Joakim Tjernlund; + backport inspired by infirit. 10 Mar 2014; Tom Wijsman <TomWij@gentoo.org> mate-file-manager-1.6.3.ebuild: Update dependencies per the consensus formed with ssuominen. diff --git a/mate-base/mate-file-manager/files/mate-file-manager-1.6.3-r1-fix-x-caja-desktop-multiple-windows-issue.patch b/mate-base/mate-file-manager/files/mate-file-manager-1.6.3-r1-fix-x-caja-desktop-multiple-windows-issue.patch new file mode 100644 index 000000000000..b818ebdd96db --- /dev/null +++ b/mate-base/mate-file-manager/files/mate-file-manager-1.6.3-r1-fix-x-caja-desktop-multiple-windows-issue.patch @@ -0,0 +1,103 @@ +Adjusted to build against 1.6.3 by removing the is_navigation boolean. + +From 4f1e756e08e61840eb9a52de4debee30006ea31e Mon Sep 17 00:00:00 2001 +From: Stefano Karapetsas <stefano@karapetsas.com> +Date: Tue, 18 Mar 2014 18:16:45 +0100 +Subject: [PATCH] Possible solution for x-caja-desktop issue + +--- + src/caja-application.c | 14 +++++++++++--- + src/caja-window-manage-views.c | 18 +++++++++++++----- + 2 files changed, 24 insertions(+), 8 deletions(-) + +diff --git a/src/caja-application.c b/src/caja-application.c +index 3f4282c..47c86c8 100644 +--- a/src/caja-application.c ++++ b/src/caja-application.c +@@ -961,6 +961,15 @@ static void drive_listen_for_eject_button (GDrive *drive, + } + } + ++static gboolean ++desktop_changed_callback_connect (CajaApplication *application) ++{ ++ g_signal_connect_swapped (caja_preferences, "changed::" CAJA_PREFERENCES_DESKTOP_IS_HOME_DIR, ++ G_CALLBACK(desktop_location_changed_callback), ++ G_OBJECT (application)); ++ return FALSE; ++} ++ + void + caja_application_startup (CajaApplication *application, + gboolean kill_shell, +@@ -1029,9 +1038,8 @@ static void drive_listen_for_eject_button (GDrive *drive, + + /* Monitor the preference to have the desktop */ + /* point to the Unix home folder */ +- g_signal_connect_swapped (caja_preferences, "changed::" CAJA_PREFERENCES_DESKTOP_IS_HOME_DIR, +- G_CALLBACK(desktop_location_changed_callback), +- G_OBJECT (application)); ++ g_timeout_add_seconds (30, (GSourceFunc) desktop_changed_callback_connect, application); ++ + /* Create the other windows. */ + if (urls != NULL || !no_default_window) + { +diff --git a/src/caja-window-manage-views.c b/src/caja-window-manage-views.c +index c7918e6..616e85b 100644 +--- a/src/caja-window-manage-views.c ++++ b/src/caja-window-manage-views.c +@@ -49,6 +49,7 @@ + #include <eel/eel-gtk-macros.h> + #include <eel/eel-stock-dialogs.h> + #include <eel/eel-string.h> ++#include <eel/eel-vfs-extensions.h> + #include <gtk/gtk.h> + #include <gdk/gdkx.h> + #include <glib/gi18n.h> +@@ -527,8 +528,9 @@ static void load_new_location (CajaWindowSlot *s + char *old_uri, *new_uri; + int new_slot_position; + GList *l; +- gboolean target_navigation = FALSE, target_same = FALSE; +- gboolean is_desktop; ++ gboolean target_navigation = FALSE; ++ gboolean target_same = FALSE; ++ gboolean is_desktop = FALSE; + + window = slot->pane->window; + +@@ -567,7 +570,12 @@ static void load_new_location (CajaWindowSlot *s + * otherwise it's the same window. + */ + if (is_desktop) { +- target_navigation = TRUE; ++ new_uri = g_file_get_uri (location); ++ if (g_str_has_prefix (new_uri, EEL_DESKTOP_URI)) ++ target_same = TRUE; ++ else ++ target_navigation = TRUE; ++ g_free (new_uri); + } else { + target_same = TRUE; + } +@@ -676,7 +684,7 @@ static void load_new_location (CajaWindowSlot *s + } + } + +- if ((target_window == window && target_slot == slot && ++ if (!(is_desktop && target_same) && (target_window == window && target_slot == slot && + old_location && g_file_equal (old_location, location))) { + + if (callback != NULL) { +@@ -688,7 +696,7 @@ static void load_new_location (CajaWindowSlot *s + } + + begin_location_change (target_slot, location, old_location, new_selection, +- CAJA_LOCATION_CHANGE_STANDARD, 0, NULL, callback, user_data); ++ (is_desktop && target_same) ? CAJA_LOCATION_CHANGE_RELOAD : CAJA_LOCATION_CHANGE_STANDARD, 0, NULL, callback, user_data); + + /* Additionally, load this in all slots that have no location, this means + we load both panes in e.g. a newly opened dual pane window. */ +-- +1.9.1 + diff --git a/mate-base/mate-file-manager/mate-file-manager-1.6.3-r1.ebuild b/mate-base/mate-file-manager/mate-file-manager-1.6.3-r1.ebuild new file mode 100644 index 000000000000..fb2c0e1ded2f --- /dev/null +++ b/mate-base/mate-file-manager/mate-file-manager-1.6.3-r1.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mate-base/mate-file-manager/mate-file-manager-1.6.3-r1.ebuild,v 1.1 2014/04/03 14:05:41 tomwij Exp $ + +EAPI="5" + +GCONF_DEBUG="yes" +GNOME2_LA_PUNT="yes" + +inherit eutils gnome2 versionator virtualx + +MATE_BRANCH="$(get_version_component_range 1-2)" + +SRC_URI="http://pub.mate-desktop.org/releases/${MATE_BRANCH}/${P}.tar.xz" +DESCRIPTION="Caja file manager for the MATE desktop" +HOMEPAGE="http://mate-desktop.org" + +LICENSE="GPL-2 LGPL-2 FDL-1.1" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="X +mate +introspection +unique xmp" + +RDEPEND="dev-libs/atk:0 + >=dev-libs/glib-2.28:2 + >=dev-libs/libxml2-2.4.7:2 + || ( + >=gnome-base/gvfs-1.10.1:0[gdu] + >=gnome-base/gvfs-1.10.1:0[udisks] + ) + >=mate-base/mate-desktop-1.6:0 + >=media-libs/libexif-0.5.12:0 + >=x11-libs/gtk+-2.24:2[introspection?] + x11-libs/cairo:0 + x11-libs/gdk-pixbuf:2 + x11-libs/libICE:0 + x11-libs/libSM:0 + x11-libs/libX11:0 + x11-libs/libXext:0 + x11-libs/libXft:0 + x11-libs/libXrender:0 + >=x11-libs/pango-1.1.2:0 + virtual/libintl:0 + introspection? ( >=dev-libs/gobject-introspection-0.6.4:0 ) + unique? ( >=dev-libs/libunique-1:1 ) + xmp? ( >=media-libs/exempi-1.99.2:2 )" + +DEPEND="${RDEPEND} + >=dev-lang/perl-5:0= + dev-util/gdbus-codegen:0 + >=dev-util/intltool-0.40.1:* + >=mate-base/mate-common-1.6:0 + sys-devel/gettext:* + virtual/pkgconfig:*" + +PDEPEND="mate? ( >=x11-themes/mate-icon-theme-1.6:0 )" + +src_prepare() { + epatch "${FILESDIR}"/${P}-r1-fix-x-caja-desktop-multiple-windows-issue.patch + + gnome2_src_prepare + + # Remove -n parameter. + sed -i -e 's:Exec=caja -n:Exec=caja:g' \ + data/caja.desktop || die + + # Remove crazy CFLAGS. + sed -i -e 's:-DG.*DISABLE_DEPRECATED::g' \ + configure{,.ac} eel/Makefile.{am,in} || die +} + +src_configure() { + gnome2_src_configure \ + --enable-unique \ + --disable-packagekit \ + --disable-update-mimedb \ + --with-gtk=2.0 \ + $(use_enable introspection) \ + $(use_enable unique) \ + $(use_enable xmp) \ + $(use_with X x) +} + +DOCS="AUTHORS ChangeLog* HACKING MAINTAINERS NEWS README THANKS TODO" + +src_test() { + unset SESSION_MANAGER + unset DBUS_SESSION_BUS_ADDRESS + + Xemake check || die "Test phase failed" +} + +pkg_postinst() { + gnome2_pkg_postinst + + elog "caja can use gstreamer to preview audio files. Just make sure" + elog "to have the necessary plugins available to play the media type you" + elog "want to preview." +} |