[evolution-patches] fix for bug #58150 (calendar)



init bonobo just like libebook.

Jeff
? 58150.patch
? depcomp
? install-sh
? missing
? mkinstalldirs
? ylwrap
? libical/src/python/Makefile
? libical/src/python/Makefile.in
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/ChangeLog,v
retrieving revision 1.306
diff -u -r1.306 ChangeLog
--- ChangeLog	4 Aug 2004 05:38:29 -0000	1.306
+++ ChangeLog	9 Aug 2004 19:08:16 -0000
@@ -1,3 +1,11 @@
+2004-08-09  Jeffrey Stedfast  <fejj novell com>
+
+	Fixes bug #58150
+
+	* libecal/e-cal.c (e_cal_activate): init bonobo if it isn't
+	already initialised.
+	(e_cal_new): Call e_cal_activate().
+
 2004-08-04  Chenthill Palanisamy <pchenthill novell com>
 
        Fixes #60265
Index: libecal/e-cal.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libecal/e-cal.c,v
retrieving revision 1.69
diff -u -r1.69 e-cal.c
--- libecal/e-cal.c	30 Jul 2004 12:30:43 -0000	1.69
+++ libecal/e-cal.c	9 Aug 2004 19:08:16 -0000
@@ -29,6 +29,7 @@
 #include <bonobo-activation/bonobo-activation.h>
 #include <bonobo/bonobo-exception.h>
 #include <bonobo/bonobo-i18n.h>
+#include <bonobo/bonobo-main.h>
 #include <libgnome/gnome-util.h>
 
 #include <libedataserver/e-component-listener.h>
@@ -1326,6 +1327,23 @@
 	return result;
 }
 
+/* one-time start up for libecal */
+static void
+e_cal_activate ()
+{
+	static GStaticMutex e_cal_lock = G_STATIC_MUTEX_INIT;
+	static gboolean activated = FALSE;
+	
+	g_static_mutex_lock (&e_cal_lock);
+	if (!activated) {
+		activated = TRUE;
+		
+		if (!bonobo_is_initialized ())
+			bonobo_init (NULL, NULL);
+	}
+	g_static_mutex_unlock (&e_cal_lock);
+}
+
 /**
  * e_cal_new:
  * @source: 
@@ -1341,7 +1359,9 @@
 e_cal_new (ESource *source, ECalSourceType type)
 {
 	ECal *ecal;
-
+	
+	e_cal_activate ();
+	
 	ecal = g_object_new (E_TYPE_CAL, NULL);
 
 	if (!fetch_corba_cal (ecal, source, type)) {


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