All pastes #908289 Raw Edit

Anonymous

public text v1 · immutable
·published 2008-02-18 08:45 UTC
rendered paste body
@@ -415,10 +417,23 @@ open_calendar (ECalBackendSync *backend,
 				g_message ("Could not get the hierarchy \n");
 			
 			g_strfreev (split_path);
-		} 
+		} else {
+			/* Rescan to see if this is any new calendar */
+		        ExchangeHierarchy *hier;
+	
+			hier = exchange_account_get_hierarchy_by_type (cbex->account, EXCHANGE_HIERARCHY_PERSONAL);
+	       	       	g_object_ref (hier->toplevel);
+	       	       	e_folder_exchange_set_rescan_tree (hier->toplevel, TRUE);
+	               	exchange_hierarchy_scan_subtree (hier, hier->toplevel, ONLINE_MODE);
+	               	e_folder_exchange_set_rescan_tree (hier->toplevel, FALSE);
+	               	g_object_unref (hier->toplevel);
+	
+	               	cbex->folder = exchange_account_get_folder (cbex->account, uristr);
+		 	if (!cbex->folder)
+				e_cal_backend_notify_error (E_CAL_BACKEND (cbex), _("Could not find the calendar"));
+		}
 	
 		if (!cbex->folder) {
-			e_cal_backend_notify_error (E_CAL_BACKEND (cbex), _("Could not find the folder"));
 			g_mutex_unlock (cbex->priv->open_lock);
 			return GNOME_Evolution_Calendar_NoSuchCal;
 		}