Add a few missing return. On first time startup, latest id wont be
authorSrinivasa Ragavan <sragavan@gnome.org>
Fri, 3 Feb 2012 10:41:39 +0000 (16:11 +0530)
committerSrinivasa Ragavan <sragavan@gnome.org>
Fri, 3 Feb 2012 10:43:25 +0000 (16:13 +0530)
there. Handle the case to avoid a crash. Fixes bug #669293

camel/providers/pop3/camel-pop3-folder.c
camel/providers/pop3/camel-pop3-settings.c

index 1d6951a..a0c10cf 100644 (file)
@@ -666,8 +666,14 @@ pop3_folder_refresh_info_sync (CamelFolder *folder,
                gint i;
                CamelPOP3FolderInfo *last_fi;
 
-               last_fi = pop3_folder->uids->pdata[pop3_folder->uids->len-1];
-               pop3_folder->latest_id = last_fi->id;
+               if (pop3_folder->uids->len) {
+                       last_fi = pop3_folder->uids->pdata[pop3_folder->uids->len-1];
+                       if (last_fi)
+                               pop3_folder->latest_id = last_fi->id;
+                       else
+                               pop3_folder->latest_id = -1;
+               } else
+                       pop3_folder->latest_id = -1;
 
                for (i = 0; i < pop3_folder->uids->len; i++) {
                        CamelPOP3FolderInfo *fi = pop3_folder->uids->pdata[i];
index 131428c..3d0dfbb 100644 (file)
@@ -114,6 +114,7 @@ pop3_settings_set_property (GObject *object,
                        camel_network_settings_set_user (
                                CAMEL_NETWORK_SETTINGS (object),
                                g_value_get_string (value));
+                        return;
                case PROP_AUTO_FETCH:
                        camel_pop3_settings_set_auto_fetch  (
                                CAMEL_POP3_SETTINGS (object),
@@ -208,11 +209,13 @@ pop3_settings_get_property (GObject *object,
                                value,
                                camel_pop3_settings_get_auto_fetch (
                                CAMEL_POP3_SETTINGS (object)));
+                        return;
                case PROP_USE_MOBILE_MODE:
                        g_value_set_boolean (
                                value,
                                camel_pop3_settings_get_mobile_mode (
                                CAMEL_POP3_SETTINGS (object)));
+                        return;
                case PROP_BATCH_FETCH_COUNT:
                        g_value_set_int (
                                value,
@@ -331,7 +334,7 @@ camel_pop3_settings_class_init (CamelPOP3SettingsClass *class)
                        "batch-fetch-count",
                        "Batch fetch count",
                        "Number of messages to download in a batch.",
-                       0,
+                       -1,
                        G_MAXINT,
                        -1,
                        G_PARAM_READWRITE |