[nautilus] connect-dialog: fixes for the handling of iconized entries



commit 1c826ed78bde5f34fd4a0f72d788b8d0824d6099
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Sat Sep 11 14:55:08 2010 +0200

    connect-dialog: fixes for the handling of iconized entries

 src/nautilus-connect-server-dialog.c |   26 ++++++++++++++------------
 1 files changed, 14 insertions(+), 12 deletions(-)
---
diff --git a/src/nautilus-connect-server-dialog.c b/src/nautilus-connect-server-dialog.c
index 7b2207c..47b6ffc 100644
--- a/src/nautilus-connect-server-dialog.c
+++ b/src/nautilus-connect-server-dialog.c
@@ -221,17 +221,19 @@ static void
 iconize_entry (NautilusConnectServerDialog *dialog,
 	       GtkWidget *entry)
 {
-	dialog->details->iconized_entries =
-		g_list_prepend (dialog->details->iconized_entries, entry);
+	if (!g_list_find (dialog->details->iconized_entries, entry)) {
+		dialog->details->iconized_entries =
+			g_list_prepend (dialog->details->iconized_entries, entry);
 
-	gtk_entry_set_icon_from_stock (GTK_ENTRY (entry),
-				       GTK_ENTRY_ICON_SECONDARY,
-				       GTK_STOCK_DIALOG_WARNING);
+		gtk_entry_set_icon_from_stock (GTK_ENTRY (entry),
+					       GTK_ENTRY_ICON_SECONDARY,
+					       GTK_STOCK_DIALOG_WARNING);
 
-	gtk_widget_grab_focus (entry);
+		gtk_widget_grab_focus (entry);
 
-	g_signal_connect (entry, "changed",
-			  G_CALLBACK (iconized_entry_changed_cb), dialog);
+		g_signal_connect (entry, "changed",
+				  G_CALLBACK (iconized_entry_changed_cb), dialog);
+	}
 }
 
 static void
@@ -701,10 +703,10 @@ nautilus_connect_server_dialog_finalize (GObject *object)
 
 	abort_mount_operation (dialog);
 
-	g_list_foreach (dialog->details->iconized_entries,
-			(GFunc) iconized_entry_restore, dialog);
-	g_list_free (dialog->details->iconized_entries);
-	dialog->details->iconized_entries = NULL;
+	if (dialog->details->iconized_entries != NULL) {
+		g_list_free (dialog->details->iconized_entries);
+		dialog->details->iconized_entries = NULL;
+	}
 
 	G_OBJECT_CLASS (nautilus_connect_server_dialog_parent_class)->finalize (object);
 }



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