summaryrefslogtreecommitdiff
path: root/gnome-base/nautilus/files/nautilus-3.14.2-active-slot.patch
diff options
context:
space:
mode:
authorBlackNoxis <steven.darklight@gmail.com>2015-06-06 21:18:07 +0300
committerBlackNoxis <steven.darklight@gmail.com>2015-06-06 21:18:07 +0300
commita22f2c850febf30d3ac05c24ac2a30c80472f58e (patch)
treed5567130118c6ca70f7f13cadd8d15008e388e68 /gnome-base/nautilus/files/nautilus-3.14.2-active-slot.patch
parent8b8785390c60db8d7983a1dd165c26a9c7e93c69 (diff)
[nautilus] separated configuration for nautilus
Diffstat (limited to 'gnome-base/nautilus/files/nautilus-3.14.2-active-slot.patch')
-rw-r--r--gnome-base/nautilus/files/nautilus-3.14.2-active-slot.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnome-base/nautilus/files/nautilus-3.14.2-active-slot.patch b/gnome-base/nautilus/files/nautilus-3.14.2-active-slot.patch
new file mode 100644
index 00000000..b1941996
--- /dev/null
+++ b/gnome-base/nautilus/files/nautilus-3.14.2-active-slot.patch
@@ -0,0 +1,51 @@
+From c9f259ca8f5541ac879320b5d168ae7b4bc46d86 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Nelson=20Ben=C3=ADtez=20Le=C3=B3n?=
+ <nbenitezl+gnome@gmail.com>
+Date: Sat, 27 Dec 2014 00:27:36 +0500
+Subject: nautilus-window: make sure active slot is closed last
+
+When destroying window and closing all slots, the closing
+of the active slot will trigger activation of next free slot,
+we don't want to be activating slots as part of
+'closing all slots' logic.
+
+Fixes bug 741952
+
+diff --git a/src/nautilus-window.c b/src/nautilus-window.c
+index 124fc57..38dea35 100644
+--- a/src/nautilus-window.c
++++ b/src/nautilus-window.c
+@@ -1531,6 +1531,18 @@ nautilus_window_get_property (GObject *object,
+ }
+ }
+
++static gint
++sort_slots_active_last (NautilusWindowSlot *a, NautilusWindowSlot *b, NautilusWindow *window)
++{
++ if (window->details->active_slot == a) {
++ return 1;
++ }
++ if (window->details->active_slot == b) {
++ return -1;
++ }
++ return 0;
++}
++
+ static void
+ destroy_slots_foreach (gpointer data,
+ gpointer user_data)
+@@ -1557,6 +1569,11 @@ nautilus_window_destroy (GtkWidget *object)
+
+ /* close all slots safely */
+ slots_copy = g_list_copy (window->details->slots);
++ if (window->details->active_slot != NULL) {
++ /* Make sure active slot is last one to be closed, to avoid default activation
++ * of others slots when closing the active one, see bug #741952 */
++ slots_copy = g_list_sort_with_data (slots_copy, (GCompareFunc) sort_slots_active_last, window);
++ }
+ g_list_foreach (slots_copy, (GFunc) destroy_slots_foreach, window);
+ g_list_free (slots_copy);
+
+--
+cgit v0.10.1
+