Index: ChangeLog
===================================================================
--- ChangeLog	(revision 8046)
+++ ChangeLog	(working copy)
@@ -1,3 +1,13 @@
+2007-09-26  Johnny Jacob  <jjohnny@novell.com>
+
+	** Fix for #312106.
+	
+	* libedataserver/e-account.h : (EAccountService) : Added new bool
+	field auto_check_at_startup and
+	E_ACCOUNT_SOURCE_AUTO_CHECK_AT_STARTUP enum.
+	* libedataserver/e-account.c : Added code for handling
+	E_ACCOUNT_SOURCE_AUTO_CHECK_AT_STARTUP,
+	
 2007-09-03  Srinivasa Ragavan  <sragavan@novell.com>
 
 	* NEWS, configure.in: Evolution Data Server 1.11.92 release
Index: libedataserver/e-account.c
===================================================================
--- libedataserver/e-account.c	(revision 8046)
+++ libedataserver/e-account.c	(working copy)
@@ -110,6 +110,7 @@
 	account->parent_uid = NULL;
 	
 	account->source->auto_check = FALSE;
+	account->source->auto_check_at_startup = FALSE;
 	account->source->auto_check_time = 10;
 }
 
@@ -394,9 +395,11 @@
 
 	changed |= xml_set_bool (node, "auto-check", &service->auto_check);
 	changed |= xml_set_int (node, "auto-check-timeout", &service->auto_check_time);
+	changed |= xml_set_bool (node, "auto-check-at-startup", &service->auto_check_at_startup);
 	if (service->auto_check && service->auto_check_time <= 0) {
 		service->auto_check = FALSE;
 		service->auto_check_time = 0;
+		service->auto_check_at_startup = FALSE;
 	}
 
 	for (node = node->children; node; node = node->next) {
@@ -539,6 +542,7 @@
 	dest->source->keep_on_server = src->source->keep_on_server;
 	dest->source->auto_check = src->source->auto_check;
 	dest->source->auto_check_time = src->source->auto_check_time;
+	dest->source->auto_check_at_startup = src->source->auto_check_at_startup;
 	dest->source->save_passwd = src->source->save_passwd;
 	
 	g_free (dest->transport->url);
@@ -625,6 +629,7 @@
 	xmlSetProp (src, (xmlChar*)"auto-check", (xmlChar*)(account->source->auto_check ? "true" : "false"));
 	sprintf (buf, "%d", account->source->auto_check_time);
 	xmlSetProp (src, (xmlChar*)"auto-check-timeout", (xmlChar*)buf);
+	xmlSetProp (src, (xmlChar*)"auto-check-at-startup", (xmlChar*)(account->source->auto_check_at_startup ? "true" : "false"));
 	if (account->source->url)
 		xmlNewTextChild (src, NULL, (xmlChar*)"url", (xmlChar*)account->source->url);
 
@@ -771,6 +776,7 @@
 	{ /* E_ACCOUNT_SOURCE_KEEP_ON_SERVER */ 0, TYPE_BOOL|TYPE_STRUCT, G_STRUCT_OFFSET(EAccount, source), G_STRUCT_OFFSET(EAccountService, keep_on_server) },
 	{ /* E_ACCOUNT_SOURCE_AUTO_CHECK */ 1<<EAP_LOCK_AUTOCHECK, TYPE_BOOL|TYPE_STRUCT, G_STRUCT_OFFSET(EAccount, source), G_STRUCT_OFFSET(EAccountService, auto_check) },
 	{ /* E_ACCOUNT_SOURCE_AUTO_CHECK_TIME */ 1<<EAP_LOCK_AUTOCHECK, TYPE_INT|TYPE_STRUCT, G_STRUCT_OFFSET(EAccount, source), G_STRUCT_OFFSET(EAccountService, auto_check_time) },
+	{ /* E_ACCOUNT_SOURCE_AUTO_CHECK_AT_STARTUP */ 1<<EAP_LOCK_AUTOCHECK, TYPE_BOOL|TYPE_STRUCT, G_STRUCT_OFFSET(EAccount, source), G_STRUCT_OFFSET(EAccountService, auto_check_at_startup) },
 	{ /* E_ACCOUNT_SOURCE_SAVE_PASSWD */ 1<<EAP_LOCK_SAVE_PASSWD, TYPE_BOOL|TYPE_STRUCT, G_STRUCT_OFFSET(EAccount, source), G_STRUCT_OFFSET(EAccountService, save_passwd) },
 
 	{ /* E_ACCOUNT_TRANSPORT_URL */ 1<<EAP_LOCK_TRANSPORT, TYPE_STRING|TYPE_STRUCT, G_STRUCT_OFFSET(EAccount, transport), G_STRUCT_OFFSET(EAccountService, url) },
Index: libedataserver/e-account.h
===================================================================
--- libedataserver/e-account.h	(revision 8046)
+++ libedataserver/e-account.h	(working copy)
@@ -43,6 +43,7 @@
 	E_ACCOUNT_SOURCE_KEEP_ON_SERVER,
 	E_ACCOUNT_SOURCE_AUTO_CHECK,
 	E_ACCOUNT_SOURCE_AUTO_CHECK_TIME,
+	E_ACCOUNT_SOURCE_AUTO_CHECK_AT_STARTUP,
 	E_ACCOUNT_SOURCE_SAVE_PASSWD,
 
 	E_ACCOUNT_TRANSPORT_URL,
@@ -100,6 +101,7 @@
 	gboolean keep_on_server;
 	gboolean auto_check;
 	int auto_check_time;
+	gboolean auto_check_at_startup;
 	gboolean save_passwd;
 	gboolean get_password_canceled;
 } EAccountService;
