[maemo-commits] [maemo-commits] r12207 - projects/haf/trunk/hildon-fm/hildon-fm

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Fri Jun 8 16:05:09 EEST 2007
Author: marivoll
Date: 2007-06-08 16:05:06 +0300 (Fri, 08 Jun 2007)
New Revision: 12207

Modified:
   projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-model.c
   projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-root.c
Log:
	* hildon-fm/hildon-file-system-root.c
	(hildon_file_system_root_get_folder): Explicitly set file_system
	of the handle to NULL.
	* hildon-fm/hildon-file-system-model.c (unlink_file_folder): Do
	not call gtk_file_system_cancel_operation when the file_system of
	the handle is NULL, set the cancelled flag directly (N59441).


Modified: projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-model.c
===================================================================
--- projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-model.c	2007-06-08 13:02:51 UTC (rev 12206)
+++ projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-model.c	2007-06-08 13:05:06 UTC (rev 12207)
@@ -1508,7 +1508,20 @@
 
   if (model_node->get_folder_handle)
     {
-      gtk_file_system_cancel_operation (model_node->get_folder_handle);
+      GtkFileSystemHandle *handle = model_node->get_folder_handle;
+      if (handle->file_system)
+	gtk_file_system_cancel_operation (model_node->get_folder_handle);
+      else
+	{
+	  /* This is a special handle created by one of our special
+	     locations.  It is not associated with any GtkFileSystem
+	     and the operation can not be cancelled.  But since the
+	     node might be going away, we set the cancelled flag
+	     directly so that get_folder_callback does the right
+	     thing.
+	  */
+	  handle->cancelled = TRUE;
+	}
       model_node->get_folder_handle = NULL;
     }
 

Modified: projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-root.c
===================================================================
--- projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-root.c	2007-06-08 13:02:51 UTC (rev 12206)
+++ projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-root.c	2007-06-08 13:05:06 UTC (rev 12207)
@@ -288,7 +288,10 @@
   root_folder->root = HILDON_FILE_SYSTEM_ROOT (location);
   g_object_ref (location);
 
-  handle->file_system = filesystem;
+  /* This tells the HildonFileSystemModel never to call
+     gtk_file_system_cancel_operation on this handle.
+  */
+  handle->file_system = NULL;
 
   clos->handle = handle;
   clos->root_folder = root_folder;


More information about the maemo-commits mailing list