* src/widgets/modest-details-dialog.c:
authorJose Dapena Paz <jdapena@igalia.com>
Fri, 9 Nov 2007 20:42:46 +0000 (20:42 +0000)
committerJose Dapena Paz <jdapena@igalia.com>
Fri, 9 Nov 2007 20:42:46 +0000 (20:42 +0000)
        * (modest_details_dialog_set_folder_default): now it reads
          correctly the size and message count of a folder even if
          it's not a TnyFolderStore (as it happens with outbox).
          Fixes NB#75655.
* src/maemo/modest-main-window.c:
        * Don't leak update banner.

pmo-trunk-r3688

src/maemo/modest-main-window.c
src/widgets/modest-details-dialog.c

index 9fd1944..75f0658 100644 (file)
@@ -387,6 +387,11 @@ modest_main_window_finalize (GObject *obj)
                priv->updating_banner_timeout = 0;
        }
 
+       if (priv->updating_banner) {
+               gtk_widget_destroy (priv->updating_banner);
+               priv->updating_banner = NULL;
+       }
+
        if (priv->restore_paned_timeout > 0) {
                g_source_remove (priv->restore_paned_timeout);
                priv->restore_paned_timeout = 0;
@@ -2480,9 +2485,11 @@ show_updating_banner (gpointer user_data)
 
        priv = MODEST_MAIN_WINDOW_GET_PRIVATE (user_data);
 
-       priv->updating_banner = 
-               modest_platform_animation_banner (GTK_WIDGET (user_data), NULL,
-                                                 _CS ("ckdg_pb_updating"));
+       if (priv->updating_banner == NULL) {
+               priv->updating_banner = 
+                       modest_platform_animation_banner (GTK_WIDGET (user_data), NULL,
+                                                         _CS ("ckdg_pb_updating"));
+       }
 
        /* Remove timeout */
        priv->updating_banner_timeout = 0;
index 221e912..3cd6c9b 100644 (file)
@@ -297,8 +297,13 @@ modest_details_dialog_set_folder_default (ModestDetailsDialog *self,
        gtk_dialog_add_button (GTK_DIALOG (self), _("mcen_bd_close"), GTK_RESPONSE_CLOSE);
 
        /* Get data. We use our function because it's recursive */
-       count = modest_tny_folder_store_get_message_count (TNY_FOLDER_STORE (folder));
-       size = modest_tny_folder_store_get_local_size (TNY_FOLDER_STORE (folder));
+       if (TNY_IS_FOLDER_STORE (folder)) {
+               count = modest_tny_folder_store_get_message_count (TNY_FOLDER_STORE (folder));
+               size = modest_tny_folder_store_get_local_size (TNY_FOLDER_STORE (folder));
+       } else {
+               count = tny_folder_get_all_count (TNY_FOLDER (folder));
+               size = tny_folder_get_local_size (TNY_FOLDER (folder));
+       }
 
        /* Format count and size */
        count_s = g_strdup_printf ("%d", count);