nautilus r13713 - in trunk: . libnautilus-private



Author: alexl
Date: Fri Feb  8 15:13:24 2008
New Revision: 13713
URL: http://svn.gnome.org/viewvc/nautilus?rev=13713&view=rev

Log:
2008-02-08  Alexander Larsson  <alexl redhat com>

        * libnautilus-private/nautilus-desktop-link.c:
	Maks sure we disconnect from the changed
	signal on the mount.



Modified:
   trunk/ChangeLog
   trunk/libnautilus-private/nautilus-desktop-link.c

Modified: trunk/libnautilus-private/nautilus-desktop-link.c
==============================================================================
--- trunk/libnautilus-private/nautilus-desktop-link.c	(original)
+++ trunk/libnautilus-private/nautilus-desktop-link.c	Fri Feb  8 15:13:24 2008
@@ -45,8 +45,8 @@
 
 	NautilusDesktopIconFile *icon_file;
 	
-	/* Just for trash icons: */
-	gulong trash_state_handler;
+	GObject *signal_handler_obj;
+	gulong signal_handler;
 
 	/* Just for mount icons: */
 	GMount *mount;
@@ -201,7 +201,8 @@
 		eel_preferences_add_callback (NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME,
 					      trash_name_changed,
 					      link);
-		link->details->trash_state_handler =
+		link->details->signal_handler_obj = G_OBJECT (nautilus_trash_monitor_get ());
+		link->details->signal_handler =
 			g_signal_connect_object (nautilus_trash_monitor_get (), "trash_state_changed",
 						 G_CALLBACK (trash_state_changed_callback), link, 0);	
 		break;
@@ -263,8 +264,10 @@
 	link->details->activation_location = g_mount_get_root (mount);
 	link->details->icon = g_mount_get_icon (mount);
 	
-	g_signal_connect (mount, "changed",
-	                  G_CALLBACK (mount_changed_callback), link);
+	link->details->signal_handler_obj = G_OBJECT (mount);
+	link->details->signal_handler =
+		g_signal_connect (mount, "changed",
+				  G_CALLBACK (mount_changed_callback), link);
 	
 	create_icon_file (link);
 
@@ -379,9 +382,9 @@
 
 	link = NAUTILUS_DESKTOP_LINK (object);
 
-	if (link->details->trash_state_handler != 0) {
-		g_signal_handler_disconnect (nautilus_trash_monitor_get (),
-					     link->details->trash_state_handler);
+	if (link->details->signal_handler != 0) {
+		g_signal_handler_disconnect (link->details->signal_handler_obj,
+					     link->details->signal_handler);
 	}
 
 	if (link->details->icon_file != NULL) {



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