From: Dirk-Jan C. Binnema Date: Wed, 22 Nov 2006 21:06:04 +0000 (+0000) Subject: * modest-folder-view.c: X-Git-Tag: git_migration_finished~4392 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=24d1b3b0a3046e24353db57a962a4d946893a91a;ds=sidebyside * modest-folder-view.c: - don't crash when there are no accounts defined pmo-trunk-r487 --- diff --git a/src/widgets/modest-folder-view.c b/src/widgets/modest-folder-view.c index 5b1f5e5..92710e1 100644 --- a/src/widgets/modest-folder-view.c +++ b/src/widgets/modest-folder-view.c @@ -506,8 +506,8 @@ update_model (ModestFolderView *self, ModestTnyAccountStore *account_store) tny_account_store_get_accounts (TNY_ACCOUNT_STORE(account_store), account_list, TNY_ACCOUNT_STORE_STORE_ACCOUNTS); - if (account_list) { + TnyIterator *iter; gint i = 0, size; @@ -522,21 +522,23 @@ update_model (ModestFolderView *self, ModestTnyAccountStore *account_store) size = tny_list_get_length (TNY_LIST (account_list)) * sizeof (gulong); priv->store_accounts_handlers = g_malloc0 (size); iter = tny_list_create_iterator (account_list); - - do { - priv->store_accounts_handlers [i++] = - g_signal_connect (G_OBJECT (tny_iterator_get_current (iter)), - "subscription_changed", - G_CALLBACK (on_subscription_changed), - self); - tny_iterator_next (iter); - } while (!tny_iterator_is_done (iter)); - - priv->view_is_empty = FALSE; + + if (!tny_iterator_is_done (iter)) + priv->view_is_empty = FALSE; + else { + while (!tny_iterator_is_done (iter)) { + + priv->store_accounts_handlers [i++] = + g_signal_connect (G_OBJECT (tny_iterator_get_current (iter)), + "subscription_changed", + G_CALLBACK (on_subscription_changed), + self); + tny_iterator_next (iter); + } + } g_object_unref (iter); g_object_unref (model); } - return TRUE; } @@ -582,6 +584,7 @@ on_selection_changed (GtkTreeSelection *sel, gpointer user_data) tny_folder_expunge (priv->cur_folder); priv->cur_folder = folder; + /* FIXME: this is ugly */ account_name = get_account_name_from_folder (model, iter); g_signal_emit (G_OBJECT(tree_view), signals[FOLDER_SELECTED_SIGNAL], 0, @@ -619,7 +622,8 @@ modest_folder_view_update_model (ModestFolderView *self, TnyAccountStore *accoun } static const gchar * -get_account_name_from_folder (GtkTreeModel *model, GtkTreeIter iter) { +get_account_name_from_folder (GtkTreeModel *model, GtkTreeIter iter) +{ GtkTreePath *path; GtkTreeIter new_iter; TnyFolder *account_folder; @@ -628,7 +632,7 @@ get_account_name_from_folder (GtkTreeModel *model, GtkTreeIter iter) { path = gtk_tree_model_get_path (model, &iter); depth = gtk_tree_path_get_depth (path); - for (i=1; i<= depth - 1; i++) + for (i = 1; i < depth; ++i) gtk_tree_path_up (path); gtk_tree_model_get_iter (model, &new_iter, path);