[nautilus] Revert "window-slot: simplify code"



commit 1974f86b8f749339155d747ba39629e93e62fdf3
Author: William Jon McCann <jmccann redhat com>
Date:   Mon Jul 9 19:41:47 2012 -0400

    Revert "window-slot: simplify code"
    
    This reverts commit 79e915b6fad372878d79a52f814017600ccb3884.
    
    See https://bugzilla.gnome.org/show_bug.cgi?id=679640

 src/nautilus-window-slot.c |    1 +
 src/nautilus-window-slot.h |    2 ++
 src/nautilus-window.c      |   11 ++++++++---
 3 files changed, 11 insertions(+), 3 deletions(-)
---
diff --git a/src/nautilus-window-slot.c b/src/nautilus-window-slot.c
index e815b55..011318d 100644
--- a/src/nautilus-window-slot.c
+++ b/src/nautilus-window-slot.c
@@ -183,6 +183,7 @@ nautilus_window_slot_init (NautilusWindowSlot *slot)
 
 	gtk_orientable_set_orientation (GTK_ORIENTABLE (slot),
 					GTK_ORIENTATION_VERTICAL);
+	gtk_widget_show (GTK_WIDGET (slot));
 
 	extras_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
 	slot->extra_location_widgets = extras_vbox;
diff --git a/src/nautilus-window-slot.h b/src/nautilus-window-slot.h
index 2c3b2cb..a1ef1c8 100644
--- a/src/nautilus-window-slot.h
+++ b/src/nautilus-window-slot.h
@@ -106,6 +106,8 @@ struct NautilusWindowSlot {
 
 	GCancellable *find_mount_cancellable;
 
+	gboolean visible;
+
 	/* Back/Forward chain, and history list. 
 	 * The data in these lists are NautilusBookmark pointers. 
 	 */
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 9cf6e36..ebdf4e3 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -1394,19 +1394,24 @@ nautilus_window_view_visible (NautilusWindow *window,
 
 	slot = nautilus_window_get_slot_for_view (window, view);
 
-	if (gtk_widget_get_visible (GTK_WIDGET (slot))) {
+	if (slot->visible) {
 		return;
 	}
 
-	gtk_widget_show (GTK_WIDGET (slot));
+	slot->visible = TRUE;
 
 	/* Look for other non-visible slots */
 	for (l = window->details->slots; l != NULL; l = l->next) {
 		slot = l->data;
 
-		if (!gtk_widget_get_visible (GTK_WIDGET (slot))) {
+		if (!slot->visible) {
 			return;
 		}
+	}
+
+	/* Look for other non-visible slots */
+	for (l = window->details->slots; l != NULL; l = l->next) {
+		slot = l->data;
 
 		nautilus_window_slot_update_title (slot);
 		nautilus_window_slot_update_icon (slot);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]