[evolution-patches] Warning/Crash Patch



There is a sucky circular ref that I fixed by "sinking" the ref however
this causes a crash instead of a ref for some people.  The fixes the
problem, although the meeting model now leaks.

We need a better solution, but this is a temporary workaround.

-JP
-- 
JP Rosevear <jpr ximian com>
Ximian, Inc.
? circular-ref.patch
? conduit-libs.patch
? e-meeting.diff
? warning.patch
? gui/dialogs/Evolution-Addressbook-SelectNames-common.c
? gui/dialogs/Evolution-Addressbook-SelectNames-skels.c
? gui/dialogs/Evolution-Addressbook-SelectNames-stubs.c
? gui/dialogs/alarm-options.gladep
? gui/dialogs/event-page.gladep
? gui/dialogs/meeting-page.gladep
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/calendar/ChangeLog,v
retrieving revision 1.1755
diff -u -r1.1755 ChangeLog
--- ChangeLog	29 Apr 2003 16:34:58 -0000	1.1755
+++ ChangeLog	29 Apr 2003 18:13:45 -0000
@@ -1,3 +1,13 @@
+2003-04-29  JP Rosevear  <jpr ximian com>
+
+	* gui/dialogs/task-editor.c (task_editor_finalize): ditto
+
+	* gui/dialogs/event-editor.c (event_editor_finalize): don't unref
+	the model here
+
+	* gui/e-meeting-time-sel.c (e_meeting_time_selector_destroy): null
+	up the display_top and display_main for re-entrancy purposes
+
 2003-04-25  JP Rosevear  <jpr ximian com>
 
 	* gui/itip-utils.c (itip_send_comp): kill warnings
Index: conduits/calendar/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution/calendar/conduits/calendar/Makefile.am,v
retrieving revision 1.30
diff -u -r1.30 Makefile.am
--- conduits/calendar/Makefile.am	25 Apr 2003 01:59:20 -0000	1.30
+++ conduits/calendar/Makefile.am	29 Apr 2003 18:13:45 -0000
@@ -23,7 +23,7 @@
 	$(top_builddir)/libversit/libversit.la				\
 	$(top_builddir)/libical/src/libical/libical-static.la		\
 	$(top_builddir)/libwombat/libwombat-static.la		 	\
-	$(top_builddir)/e-util/libeconduit-static.la	 		\
+	$(top_builddir)/e-util/libeconduit.la	 			\
 	$(EVOLUTION_CALENDAR_CONDUIT_LIBS)
 
 e-calendar.conduit: e-calendar.conduit.in Makefile
Index: conduits/todo/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution/calendar/conduits/todo/Makefile.am,v
retrieving revision 1.30
diff -u -r1.30 Makefile.am
--- conduits/todo/Makefile.am	25 Apr 2003 01:59:20 -0000	1.30
+++ conduits/todo/Makefile.am	29 Apr 2003 18:13:45 -0000
@@ -23,7 +23,7 @@
 	$(top_builddir)/libversit/libversit.la				\
 	$(top_builddir)/libical/src/libical/libical-static.la		\
 	$(top_builddir)/libwombat/libwombat-static.la	 		\
-	$(top_builddir)/e-util/libeconduit-static.la	 		\
+	$(top_builddir)/e-util/libeconduit.la		 		\
 	$(EVOLUTION_CALENDAR_CONDUIT_LIBS)
 
 e-todo.conduit: e-todo.conduit.in Makefile
Index: gui/e-meeting-time-sel.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/e-meeting-time-sel.c,v
retrieving revision 1.46
diff -u -r1.46 e-meeting-time-sel.c
--- gui/e-meeting-time-sel.c	22 Apr 2003 21:15:40 -0000	1.46
+++ gui/e-meeting-time-sel.c	29 Apr 2003 18:13:46 -0000
@@ -852,6 +852,9 @@
 		mts->model = NULL;
 	}
 	
+	mts->display_top = NULL;
+	mts->display_main = NULL;
+	
 	if (GTK_OBJECT_CLASS (parent_class)->destroy)
 		(*GTK_OBJECT_CLASS (parent_class)->destroy)(object);
 }
Index: gui/dialogs/event-editor.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/dialogs/event-editor.c,v
retrieving revision 1.31
diff -u -r1.31 event-editor.c
--- gui/dialogs/event-editor.c	18 Mar 2003 01:46:25 -0000	1.31
+++ gui/dialogs/event-editor.c	29 Apr 2003 18:13:46 -0000
@@ -395,7 +395,11 @@
 	g_object_unref((priv->meet_page));
 	g_object_unref((priv->sched_page));
 
-	g_object_unref((priv->model));
+#if 0
+	/* FIXME we don't unref here because we "sink" in 
+	   e-meeting-model.c:init */
+	g_object_unref (priv->model);
+#endif
 
 	g_free (priv);
 
Index: gui/dialogs/task-editor.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/dialogs/task-editor.c,v
retrieving revision 1.61
diff -u -r1.61 task-editor.c
--- gui/dialogs/task-editor.c	11 Apr 2003 10:41:37 -0000	1.61
+++ gui/dialogs/task-editor.c	29 Apr 2003 18:13:46 -0000
@@ -349,7 +349,11 @@
 	g_object_unref((priv->task_details_page));
 	g_object_unref((priv->meet_page));
 	
-	g_object_unref((priv->model));
+#if 0
+	/* FIXME we don't unref here because we "sink" in 
+	   e-meeting-model.c:init */
+	g_object_unref (priv->model);
+#endif
 	
 	if (G_OBJECT_CLASS (parent_class)->finalize)
 		(* G_OBJECT_CLASS (parent_class)->finalize) (object);


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