Index: camel/camel-exchange-folder.c
===================================================================
--- camel/camel-exchange-folder.c	(revision 1838)
+++ camel/camel-exchange-folder.c	(working copy)
@@ -50,10 +50,6 @@
 
 static CamelOfflineFolderClass *parent_class = NULL;
 
-static CamelProperty exchange_property_list[] = {
-	{ CAMEL_EXCHANGE_FOLDER_CHECK_FOLDER, "check_folder", N_("Always check for new mail in this folder") },
-};
-
 /* Returns the class for a CamelFolder */
 #define CF_CLASS(so) CAMEL_FOLDER_CLASS (CAMEL_OBJECT_GET_CLASS(so))
 
@@ -90,9 +86,6 @@ static void   transfer_messages_the_hard
 static void refresh_info (CamelFolder *folder, CamelException *ex);
 static void exchange_sync (CamelFolder *folder, gboolean expunge, CamelException *ex);
 
-static int exchange_getv (CamelObject *object, CamelException *ex, CamelArgGetV *args);
-static int exchange_setv (CamelObject *object, CamelException *ex, CamelArgV *args);
-
 static void
 class_init (CamelFolderClass *camel_folder_class)
 {
@@ -111,9 +104,6 @@ class_init (CamelFolderClass *camel_fold
 	camel_folder_class->transfer_messages_to = transfer_messages_to;
 	camel_folder_class->refresh_info = refresh_info;
 	camel_folder_class->sync = exchange_sync;
-
- 	((CamelObjectClass *)camel_folder_class)->getv = exchange_getv;
-	((CamelObjectClass *)camel_folder_class)->setv = exchange_setv;
 }
 
 #define CAMEL_EXCHANGE_SERVER_FLAGS \
@@ -155,8 +145,6 @@ camel_exchange_folder_get_type (void)
 	static CamelType camel_exchange_folder_type = CAMEL_INVALID_TYPE;
 
 	if (camel_exchange_folder_type == CAMEL_INVALID_TYPE) {
-		int i;
-
 		camel_exchange_folder_type = camel_type_register (
 			camel_offline_folder_get_type (),
 			"CamelExchangeFolder",
@@ -166,10 +154,6 @@ camel_exchange_folder_get_type (void)
 			NULL,
 			(CamelObjectInitFunc) init,
 			(CamelObjectFinalizeFunc) finalize );
-
-		/* only localize here, do not create GSList, we do not want to leak */
-		for (i = 0; i < sizeof (exchange_property_list)/sizeof (exchange_property_list [0]); i++)
-			exchange_property_list [i].description = _(exchange_property_list [i].description);
 	}
 
 	return camel_exchange_folder_type;
@@ -1143,78 +1127,3 @@ exchange_sync (CamelFolder *folder, gboo
 
 	camel_folder_summary_save_to_db (folder->summary, ex);
 }
-
-static int
-exchange_getv (CamelObject *object, CamelException *ex, CamelArgGetV *args)
-{
-	int i, count=0;
-	guint32 tag;
-
-	for (i = 0; i < args->argc; i++) {
-		CamelArgGet *arg = &args->argv[i];
-
-		tag = arg->tag;
-
-		switch (tag & CAMEL_ARG_TAG) {
-		case CAMEL_OBJECT_ARG_PERSISTENT_PROPERTIES:
-		case CAMEL_FOLDER_ARG_PROPERTIES: {
-			CamelArgGetV props;
-			int i;
-
-			props.argc = 1;
-			props.argv[0] = *arg;
-			((CamelObjectClass *)parent_class)->getv(object, ex, &props);
-
-			for (i = 0; i < sizeof (exchange_property_list)/sizeof (exchange_property_list [0]); i++)
-				*arg->ca_ptr = g_slist_append (*arg->ca_ptr, &exchange_property_list[i]);
-			break; }
-			/* exchange args */
-		case CAMEL_EXCHANGE_FOLDER_ARG_CHECK_FOLDER:
-			*arg->ca_int = ((CamelExchangeFolder *)object)->check_folder;
-			break;
-		default:
-			count++;
-			continue;
-		}
-
-		arg->tag = (tag & CAMEL_ARG_TYPE) | CAMEL_ARG_IGNORE;
-	}
-
-	if (count)
-		return ((CamelObjectClass *)parent_class)->getv (object, ex, args);
-
-	return 0;
-}
-
-static int
-exchange_setv (CamelObject *object, CamelException *ex, CamelArgV *args)
-{
-	int save = 0;
-	int i;
-	guint32 tag;
-
-	for (i = 0; i < args->argc; i++) {
-		CamelArg *arg = &args->argv[i];
-
-		tag = arg->tag;
-
-		switch (tag & CAMEL_ARG_TAG) {
-		case CAMEL_EXCHANGE_FOLDER_ARG_CHECK_FOLDER:
-			if (((CamelExchangeFolder *)object)->check_folder != arg->ca_int) {
-				((CamelExchangeFolder *)object)->check_folder = arg->ca_int;
-				save = 1;
-			}
-			break;
-		default:
-			continue;
-		}
-
-		arg->tag = (tag & CAMEL_ARG_TYPE) | CAMEL_ARG_IGNORE;
-	}
-
-	if (save)
-		camel_object_state_write (object);
-
-	return ((CamelObjectClass *)parent_class)->setv (object, ex, args);
-}
-
Index: camel/camel-exchange-folder.h
===================================================================
--- camel/camel-exchange-folder.h	(revision 1838)
+++ camel/camel-exchange-folder.h	(working copy)
@@ -24,15 +24,6 @@ extern "C" {
 #define CAMEL_EXCHANGE_FOLDER_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_EXCHANGE_FOLDER_TYPE, CamelExchangeFolderClass))
 #define CAMEL_IS_EXCHANGE_FOLDER(o)    (CAMEL_CHECK_TYPE((o), CAMEL_EXCHANGE_FOLDER_TYPE))
 
-enum {
-	CAMEL_EXCHANGE_FOLDER_ARG_CHECK_FOLDER = CAMEL_OFFLINE_FOLDER_ARG_LAST,
-	CAMEL_EXCHANGE_FOLDER_ARG_LAST = CAMEL_OFFLINE_FOLDER_ARG_LAST + 0x100
-};
-
-enum {
-	CAMEL_EXCHANGE_FOLDER_CHECK_FOLDER = CAMEL_EXCHANGE_FOLDER_ARG_CHECK_FOLDER | CAMEL_ARG_BOO,
-};
-
 typedef struct {
 	CamelOfflineFolder parent_object;
 
@@ -42,7 +33,6 @@ typedef struct {
 	char *source;
 
 	GHashTable *thread_index_to_message_id;
-	unsigned int check_folder:1;
 } CamelExchangeFolder;
 
 typedef struct {
Index: camel/camel-exchange-store.c
===================================================================
--- camel/camel-exchange-store.c	(revision 1838)
+++ camel/camel-exchange-store.c	(working copy)
@@ -1194,13 +1194,5 @@ exchange_can_refresh_folder (CamelStore 
 	res = CAMEL_STORE_CLASS(parent_class)->can_refresh_folder (store, info, ex) ||
 	      (camel_url_get_param (((CamelService *)store)->url, "check_all") != NULL);
 
-	if (!res && !camel_exception_is_set (ex)) {
-		CamelFolder *folder;
-
-		folder = camel_store_get_folder (store, info->full_name, 0, ex);
-		if (folder && CAMEL_IS_EXCHANGE_FOLDER (folder))
-			res = CAMEL_EXCHANGE_FOLDER (folder)->check_folder;
-	}
-
 	return res;
 }
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 1838)
+++ ChangeLog	(working copy)
@@ -1,3 +1,12 @@
+2008-11-18  Milan Crha  <mcrha@redhat.com>
+
+	** Part of fix for bug #558883
+
+	* camel/camel-exchange-folder.h:
+	* camel/camel-exchange-folder.c:
+	* camel/camel-exchange-store.c:
+	Revert related parts from bug #336074, which caused slow start up.
+
 2008-11-05  Milan Crha  <mcrha@redhat.com>
 
 	** Fix for bug #540346
