evolution-data-server r9982 - trunk/camel/providers/groupwise
- From: psankar svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution-data-server r9982 - trunk/camel/providers/groupwise
- Date: Wed, 28 Jan 2009 11:41:28 +0000 (UTC)
Author: psankar
Date: Wed Jan 28 11:41:28 2009
New Revision: 9982
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=9982&view=rev
Log:
2009-01-28 Sankar P <psankar novell com>
** Fix for bnc bug #467638
* camel/providers/groupwise/camel-groupwise-store.c:
Fix the broken current_folder handling code. Lots of
issues are fixed. some may remain yet.
Modified:
trunk/camel/providers/groupwise/ChangeLog
trunk/camel/providers/groupwise/camel-groupwise-store.c
Modified: trunk/camel/providers/groupwise/camel-groupwise-store.c
==============================================================================
--- trunk/camel/providers/groupwise/camel-groupwise-store.c (original)
+++ trunk/camel/providers/groupwise/camel-groupwise-store.c Wed Jan 28 11:41:28 2009
@@ -390,6 +390,12 @@
g_object_unref (groupwise_store->priv->cnc);
groupwise_store->priv->cnc = NULL;
}
+
+ if (groupwise_store->current_folder) {
+ camel_object_unref (groupwise_store->current_folder);
+ groupwise_store->current_folder = NULL;
+ }
+
CAMEL_SERVICE_REC_UNLOCK (groupwise_store, connect_lock);
}
@@ -544,6 +550,7 @@
folder = groupwise_get_folder_from_disk (store, folder_name, flags, ex);
if (folder) {
camel_object_ref (folder);
+ gw_store->current_folder = folder;
return folder;
}
@@ -551,16 +558,17 @@
CAMEL_SERVICE_REC_LOCK (gw_store, connect_lock);
- if (!camel_groupwise_store_connected (gw_store, ex)) {
- CAMEL_SERVICE_REC_UNLOCK (gw_store, connect_lock);
- return NULL;
- }
-
if (gw_store->current_folder) {
camel_object_unref (gw_store->current_folder);
gw_store->current_folder = NULL;
}
+
+ if (!camel_groupwise_store_connected (gw_store, ex)) {
+ CAMEL_SERVICE_REC_UNLOCK (gw_store, connect_lock);
+ return NULL;
+ }
+
if (!E_IS_GW_CONNECTION( priv->cnc)) {
if (!groupwise_connect (CAMEL_SERVICE(store), ex)) {
CAMEL_SERVICE_REC_UNLOCK (gw_store, connect_lock);
@@ -667,8 +675,8 @@
camel_folder_summary_save_to_db (folder->summary, ex);
- gw_store->current_folder = folder;
camel_object_ref (folder);
+ gw_store->current_folder = folder;
g_free (container_id);
CAMEL_SERVICE_REC_UNLOCK (gw_store, connect_lock);
@@ -1294,8 +1302,10 @@
status = e_gw_connection_remove_item (priv->cnc, container, container);
if (status == E_GW_CONNECTION_STATUS_OK) {
- if (groupwise_store->current_folder)
+ if (groupwise_store->current_folder) {
camel_object_unref (groupwise_store->current_folder);
+ groupwise_store->current_folder = NULL;
+ }
groupwise_forget_folder(groupwise_store,folder_name,ex);
@@ -1332,6 +1342,11 @@
return;
}
+ if (groupwise_store->current_folder) {
+ camel_object_unref (groupwise_store->current_folder);
+ groupwise_store->current_folder = NULL;
+ }
+
container_id = camel_groupwise_store_container_id_lookup (groupwise_store, old_name);
temp_new = strrchr (new_name, '/');
if (temp_new)
@@ -1587,6 +1602,7 @@
priv->user = NULL;
priv->cnc = NULL;
groupwise_store->priv = priv;
+ groupwise_store->current_folder = NULL;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]