diff options
author | Nirbheek Chauhan <nirbheek@gentoo.org> | 2009-12-30 00:11:42 +0000 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@gentoo.org> | 2009-12-30 00:11:42 +0000 |
commit | fa25d3f1d0646363c769a716da8cdc18e6eb4cf7 (patch) | |
tree | b4b1276dfcd8996018beae002112515030aa4870 /gnome-base/nautilus | |
parent | Set PYTHON_MODNAME. (diff) | |
download | gentoo-2-fa25d3f1d0646363c769a716da8cdc18e6eb4cf7.tar.gz gentoo-2-fa25d3f1d0646363c769a716da8cdc18e6eb4cf7.tar.bz2 gentoo-2-fa25d3f1d0646363c769a716da8cdc18e6eb4cf7.zip |
Fix nautilus window closing when doing DnD from file-roller, bug 290001
(Portage version: 2.1.7.16/cvs/Linux i686)
Diffstat (limited to 'gnome-base/nautilus')
-rw-r--r-- | gnome-base/nautilus/ChangeLog | 9 | ||||
-rw-r--r-- | gnome-base/nautilus/files/nautilus-2.26.4-file-roller-drag-n-drop.patch | 103 | ||||
-rw-r--r-- | gnome-base/nautilus/nautilus-2.26.4-r1.ebuild | 100 |
3 files changed, 211 insertions, 1 deletions
diff --git a/gnome-base/nautilus/ChangeLog b/gnome-base/nautilus/ChangeLog index b2fa5254919c..ae951c2f0a74 100644 --- a/gnome-base/nautilus/ChangeLog +++ b/gnome-base/nautilus/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for gnome-base/nautilus # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/ChangeLog,v 1.329 2009/12/17 23:26:33 eva Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/ChangeLog,v 1.330 2009/12/30 00:11:41 nirbheek Exp $ + +*nautilus-2.26.4-r1 (30 Dec 2009) + + 30 Dec 2009; Nirbheek Chauhan <nirbheek@gentoo.org> + +nautilus-2.26.4-r1.ebuild, + +files/nautilus-2.26.4-file-roller-drag-n-drop.patch: + Fix nautilus window closing when doing DnD from file-roller, bug 290001 *nautilus-2.28.4 (17 Dec 2009) diff --git a/gnome-base/nautilus/files/nautilus-2.26.4-file-roller-drag-n-drop.patch b/gnome-base/nautilus/files/nautilus-2.26.4-file-roller-drag-n-drop.patch new file mode 100644 index 000000000000..28d637ca5181 --- /dev/null +++ b/gnome-base/nautilus/files/nautilus-2.26.4-file-roller-drag-n-drop.patch @@ -0,0 +1,103 @@ +Fixes nautilus window closing when doing DnD from file-roller. +Patch is taken from upstream git + +http://bugs.gentoo.org/show_bug.cgi?id=290001 + +--- +From 23278532505862816bd5c8c0ab7d17f7a07b4790 Mon Sep 17 00:00:00 2001 +From: Cosimo Cecchi <cosimoc@gnome.org> +Date: Fri, 09 Oct 2009 17:19:42 +0000 +Subject: Always check if the drag dest supports the source. + +In the "drag-motion" callback, make sure we check for target != GDK_NONE +before getting non-existent data for it. +--- +diff --git a/libnautilus-private/nautilus-dnd.c b/libnautilus-private/nautilus-dnd.c +index b7e1df2..15b6395 100644 +--- a/libnautilus-private/nautilus-dnd.c ++++ b/libnautilus-private/nautilus-dnd.c +@@ -1010,7 +1010,7 @@ nautilus_drag_selection_includes_special_link (GList *selection_list) + return FALSE; + } + +-static void ++static gboolean + slot_proxy_drag_motion (GtkWidget *widget, + GdkDragContext *context, + int x, +@@ -1038,6 +1038,11 @@ slot_proxy_drag_motion (GtkWidget *widget, + + if (!drag_info->have_data) { + target = gtk_drag_dest_find_target (widget, context, NULL); ++ ++ if (target == GDK_NONE) { ++ goto out; ++ } ++ + gtk_drag_get_data (widget, context, target, time); + } + +@@ -1079,6 +1084,8 @@ out: + } + + gdk_drag_status (context, action, time); ++ ++ return TRUE; + } + + static void +diff --git a/src/nautilus-places-sidebar.c b/src/nautilus-places-sidebar.c +index 1d07bba..9a87322 100644 +--- a/src/nautilus-places-sidebar.c ++++ b/src/nautilus-places-sidebar.c +@@ -850,7 +850,7 @@ compute_drop_position (GtkTreeView *tree_view, + } + + +-static void ++static gboolean + get_drag_data (GtkTreeView *tree_view, + GdkDragContext *context, + unsigned int time) +@@ -861,8 +861,14 @@ get_drag_data (GtkTreeView *tree_view, + context, + NULL); + ++ if (target == GDK_NONE) { ++ return FALSE; ++ } ++ + gtk_drag_get_data (GTK_WIDGET (tree_view), + context, target, time); ++ ++ return TRUE; + } + + static void +@@ -928,7 +934,9 @@ drag_motion_callback (GtkTreeView *tree_view, + char *uri; + + if (!sidebar->drag_data_received) { +- get_drag_data (tree_view, context, time); ++ if (!get_drag_data (tree_view, context, time)) { ++ return FALSE; ++ } + } + + compute_drop_position (tree_view, x, y, &path, &pos, sidebar); +@@ -1269,10 +1277,11 @@ drag_drop_callback (GtkTreeView *tree_view, + unsigned int time, + NautilusPlacesSidebar *sidebar) + { ++ gboolean retval = FALSE; + sidebar->drop_occured = TRUE; +- get_drag_data (tree_view, context, time); ++ retval = get_drag_data (tree_view, context, time); + g_signal_stop_emission_by_name (tree_view, "drag-drop"); +- return TRUE; ++ return retval; + } + + /* Callback used when the file list's popup menu is detached */ +-- +cgit v0.8.2 diff --git a/gnome-base/nautilus/nautilus-2.26.4-r1.ebuild b/gnome-base/nautilus/nautilus-2.26.4-r1.ebuild new file mode 100644 index 000000000000..e8d8843823f5 --- /dev/null +++ b/gnome-base/nautilus/nautilus-2.26.4-r1.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/nautilus-2.26.4-r1.ebuild,v 1.1 2009/12/30 00:11:41 nirbheek Exp $ + +EAPI="2" + +inherit gnome2 eutils virtualx + +DESCRIPTION="A file manager for the GNOME desktop" +HOMEPAGE="http://www.gnome.org/projects/nautilus/" + +LICENSE="GPL-2 LGPL-2 FDL-1.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="beagle doc gnome tracker xmp" + +# not adding gnome-base/gail because it is in gtk+ +RDEPEND=">=dev-libs/glib-2.19.0 + >=gnome-base/gnome-desktop-2.25.5 + >=x11-libs/pango-1.1.2 + >=x11-libs/gtk+-2.16.0 + >=dev-libs/libxml2-2.4.7 + >=media-libs/libexif-0.5.12 + >=gnome-base/gconf-2.0 + >=gnome-base/gvfs-0.1.2 + dev-libs/libunique + dev-libs/dbus-glib + x11-libs/libXft + x11-libs/libXrender + beagle? ( || ( + dev-libs/libbeagle + =app-misc/beagle-0.2* ) ) + tracker? ( >=app-misc/tracker-0.6.4 ) + xmp? ( >=media-libs/exempi-2 )" + +DEPEND="${RDEPEND} + >=dev-lang/perl-5 + sys-devel/gettext + >=dev-util/pkgconfig-0.9 + >=dev-util/intltool-0.40.1 + doc? ( >=dev-util/gtk-doc-1.4 ) + gnome-base/gnome-common + dev-util/gtk-doc-am" + +PDEPEND="gnome? ( >=x11-themes/gnome-icon-theme-1.1.91 )" + +DOCS="AUTHORS ChangeLog* HACKING MAINTAINERS NEWS README THANKS TODO" + +pkg_setup() { + G2CONF="${G2CONF} + --disable-update-mimedb + --disable-packagekit + $(use_enable beagle) + $(use_enable tracker) + $(use_enable xmp)" +} + +src_prepare() { + gnome2_src_prepare + + # FIXME: tarball generated with broken gtk-doc, revisit me. + if use doc; then + sed "/^TARGET_DIR/i \GTKDOC_REBASE=/usr/bin/gtkdoc-rebase" \ + -i gtk-doc.make || die "sed 1 failed" + else + sed "/^TARGET_DIR/i \GTKDOC_REBASE=/bin/true" \ + -i gtk-doc.make || die "sed 2 failed" + fi + + # gtk-doc-am and gnome-common needed for this + + # Fix intltoolize broken file, see upstream #577133 + sed "s:'\^\$\$lang\$\$':\^\$\$lang\$\$:g" -i po/Makefile.in.in || die "sed failed" + + # Fix nautilus flipping-out with --no-desktop -- bug 266398 + epatch "${FILESDIR}/${PN}-2.26.2-change-reg-desktop-file-with-no-desktop.patch" + + # Fix massive memory consumption by Nautilus for larger zoom levels. + # Import from upstream, see distributor mailing lists. + epatch "${FILESDIR}/${PN}-2.26.3-thumbnail-zoom-level.patch" + + # Fix nautilus window closing when doing DnD from file-roller, bug 290001 + epatch "${FILESDIR}/${P}-file-roller-drag-n-drop.patch" +} + +src_test() { + addwrite "/root/.gnome2_private" + unset SESSION_MANAGER + unset ORBIT_SOCKETDIR + unset DBUS_SESSION_BUS_ADDRESS + Xemake check || die "Test phase failed" +} + +pkg_postinst() { + gnome2_pkg_postinst + + elog "nautilus 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" +} |