[maemo-commits] [maemo-commits] r14150 - in projects/haf/trunk/hildon-fm: . hildon-fm

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Thu Sep 27 17:23:33 EEST 2007
Author: marivoll
Date: 2007-09-27 17:23:31 +0300 (Thu, 27 Sep 2007)
New Revision: 14150

Modified:
   projects/haf/trunk/hildon-fm/ChangeLog
   projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-model.c
Log:
	* hildon-fm/hildon-file-system-model.c (dfa_run,
	delay_files_added,
	hildon_file_system_model_folder_finished_loading): Gracefully
	handle the case when the node for the GtkFileFolder has been
	removed from the model in the mean time by doing nothing (N71163,
	N71170, N71144).


Modified: projects/haf/trunk/hildon-fm/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-fm/ChangeLog	2007-09-27 12:54:09 UTC (rev 14149)
+++ projects/haf/trunk/hildon-fm/ChangeLog	2007-09-27 14:23:31 UTC (rev 14150)
@@ -1,3 +1,12 @@
+2007-09-27  Marius Vollmer  <marius.vollmer at nokia.com>
+
+	* hildon-fm/hildon-file-system-model.c (dfa_run,
+	delay_files_added,
+	hildon_file_system_model_folder_finished_loading): Gracefully
+	handle the case when the node for the GtkFileFolder has been
+	removed from the model in the mean time by doing nothing (N71163,
+	N71170, N71144).
+
 2007-09-26  Marius Vollmer  <marius.vollmer at nokia.com>
 
 	* hildon-fm/hildon-file-system-model.c

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-09-27 12:54:09 UTC (rev 14149)
+++ projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-model.c	2007-09-27 14:23:31 UTC (rev 14150)
@@ -1155,13 +1155,16 @@
   dfa_clos *c = (dfa_clos *)data;
   
   GDK_THREADS_ENTER ();
+  
   node = hildon_file_system_model_search_folder (c->monitor);
-  model_node = node->data;
+  if (node)
+    {
+      model_node = node->data;
+      model_node->pending_adds -= g_slist_length (c->paths);
 
-  model_node->pending_adds -= g_slist_length (c->paths);
+      hildon_file_system_model_files_added (c->monitor, c->paths, c->data);
+    }
 
-  hildon_file_system_model_files_added (c->monitor, c->paths, c->data);
-
   GDK_THREADS_LEAVE ();
 
   g_object_unref (c->monitor);
@@ -1180,22 +1183,24 @@
   GNode *node;
   HildonFileSystemModelNode *model_node;
 
-  dfa_clos *c = g_new0 (dfa_clos, 1);
-
-  g_object_ref (monitor);
-  paths = gtk_file_paths_copy (paths);
-  g_object_ref (data);
-
   node = hildon_file_system_model_search_folder (monitor);
-  model_node = node->data;
+  if (node)
+    {
+      dfa_clos *c = g_new0 (dfa_clos, 1);
+      
+      g_object_ref (monitor);
+      paths = gtk_file_paths_copy (paths);
+      g_object_ref (data);
+      
+      model_node = node->data;
+      model_node->pending_adds += g_slist_length (paths);
 
-  model_node->pending_adds += g_slist_length (paths);
-
-  c->monitor = monitor;
-  c->paths = paths;
-  c->data = data;
-
-  g_idle_add (dfa_run, c);
+      c->monitor = monitor;
+      c->paths = paths;
+      c->data = data;
+      
+      g_idle_add (dfa_run, c);
+    }
 }
 
 static void hildon_file_system_model_files_added(GtkFileFolder * monitor,
@@ -1300,10 +1305,12 @@
 static void hildon_file_system_model_folder_finished_loading(GtkFileFolder *monitor, gpointer data)
 {
   GNode *node = hildon_file_system_model_search_folder(monitor);
-  g_assert(node != NULL);
-  ULOG_INFO("Finished loading (monitor = %p)", (void *) monitor);
-  if (is_node_loaded (node))
-    handle_finished_node (node);
+  if (node)
+    {
+      ULOG_INFO("Finished loading (monitor = %p)", (void *) monitor);
+      if (is_node_loaded (node))
+	handle_finished_node (node);
+    }
 }
 
 static GNode *


More information about the maemo-commits mailing list