beagle r4388 - trunk/beagle/beagled/EvolutionDataServerQueryable



Author: dbera
Date: Mon Jan 14 00:20:16 2008
New Revision: 4388
URL: http://svn.gnome.org/viewvc/beagle?rev=4388&view=rev

Log:
* Fix a potential crash if new group is added when beagle is indexing (CalContainer constructor needs to be called in the right form).
* Temporarily disable indexing of webcal data, till the mystery behind the leak is resolved.


Modified:
   trunk/beagle/beagled/EvolutionDataServerQueryable/SourcesHandler.cs

Modified: trunk/beagle/beagled/EvolutionDataServerQueryable/SourcesHandler.cs
==============================================================================
--- trunk/beagle/beagled/EvolutionDataServerQueryable/SourcesHandler.cs	(original)
+++ trunk/beagle/beagled/EvolutionDataServerQueryable/SourcesHandler.cs	Mon Jan 14 00:20:16 2008
@@ -77,6 +77,11 @@
 
 		private void IndexSourceGroup (SourceGroup group, bool all_items)
 		{
+			if (group.BaseUri.StartsWith ("webcal://")) {
+				Logger.Log.Warn ("Indexing of webcal items temporarily disabled");
+				return;
+			}
+
 			group.SourceAdded += OnSourceAdded;
 			group.SourceRemoved += OnSourceRemoved;
 
@@ -123,7 +128,13 @@
 
 		private void OnSourceAdded (object o, SourceAddedArgs args)
 		{
-			Container cont = (Container) Activator.CreateInstance (this.container_type, new object[] { args.Source, this.queryable, this.fingerprint });
+			object[] new_args = new object [this.ctor_args.Length + 3];
+			new_args [0] = args.Source;
+			new_args [1] = this.queryable;
+			new_args [2] = this.fingerprint;
+			Array.Copy (this.ctor_args, 0, new_args, 3, this.ctor_args.Length);
+
+			Container cont = (Container) Activator.CreateInstance (this.container_type, new_args);
 			if (!cont.OpenClient ())
 				return;
 			cont.IndexAll ();
@@ -136,4 +147,4 @@
 			cont.Remove ();
 		}
 	}
-}
\ No newline at end of file
+}



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