[evolution-data-server] Add a few missing return. On first time startup, latest id wont be there. Handle the case to avoid a



commit 9a364f1a1867ef4040923e607875736942f7411e
Author: Srinivasa Ragavan <sragavan gnome org>
Date:   Fri Feb 3 16:11:39 2012 +0530

    Add a few missing return. On first time startup, latest id wont be
    there. Handle the case to avoid a crash. Fixes bug #669293

 camel/providers/pop3/camel-pop3-folder.c   |   10 ++++++++--
 camel/providers/pop3/camel-pop3-settings.c |    5 ++++-
 2 files changed, 12 insertions(+), 3 deletions(-)
---
diff --git a/camel/providers/pop3/camel-pop3-folder.c b/camel/providers/pop3/camel-pop3-folder.c
index 1d6951a..a0c10cf 100644
--- a/camel/providers/pop3/camel-pop3-folder.c
+++ b/camel/providers/pop3/camel-pop3-folder.c
@@ -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];
diff --git a/camel/providers/pop3/camel-pop3-settings.c b/camel/providers/pop3/camel-pop3-settings.c
index 131428c..3d0dfbb 100644
--- a/camel/providers/pop3/camel-pop3-settings.c
+++ b/camel/providers/pop3/camel-pop3-settings.c
@@ -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 |



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]