[evolution-patches] patch for #60289 (calendar)



These 2 patches fix #60289
? calendar/mkinstalldirs
? calendar/libical/src/libicalss/icalssyacc.output
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/ChangeLog,v
retrieving revision 1.136
diff -u -p -r1.136 ChangeLog
--- ChangeLog	5 Jul 2004 14:58:45 -0000	1.136
+++ ChangeLog	7 Jul 2004 11:52:39 -0000
@@ -1,3 +1,8 @@
+2004-07-07  Rodrigo Moya <rodrigo novell com>
+
+	* libedataserver/e-source.[ch] (e_source_build_absolute_uri): made
+	this function public.
+
 2004-07-02  JP Rosevear  <jpr novell com>
 
 	* configure.in: bump version, libtool numbers
Index: libedataserver/e-source.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/libedataserver/e-source.c,v
retrieving revision 1.15
diff -u -p -r1.15 e-source.c
--- libedataserver/e-source.c	1 Jun 2004 18:50:28 -0000	1.15
+++ libedataserver/e-source.c	7 Jul 2004 11:52:41 -0000
@@ -405,8 +405,8 @@ e_source_uid_from_xml_node (xmlNodePtr n
 	return retval;
 }
 
-static char *
-build_absolute_uri (ESource *source)
+char *
+e_source_build_absolute_uri (ESource *source)
 {
 	const gchar *base_uri_str;
 	gchar *uri_str;
@@ -639,7 +639,7 @@ e_source_get_uri (ESource *source)
 	else if (source->priv->absolute_uri != NULL) /* source->priv->group != NULL */
 		return g_strdup (source->priv->absolute_uri);
 	else
-		return build_absolute_uri (source);
+		return e_source_build_absolute_uri (source);
 }
 
 
Index: libedataserver/e-source.h
===================================================================
RCS file: /cvs/gnome/evolution-data-server/libedataserver/e-source.h,v
retrieving revision 1.9
diff -u -p -r1.9 e-source.h
--- libedataserver/e-source.h	27 May 2004 13:23:55 -0000	1.9
+++ libedataserver/e-source.h	7 Jul 2004 11:52:41 -0000
@@ -112,6 +112,8 @@ void         e_source_foreach_property (
 					GHFunc func,
 					gpointer data);
 
+char *e_source_build_absolute_uri (ESource *source);
+
 G_END_DECLS
 
 #endif /* _E_SOURCE_H_ */
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/calendar/ChangeLog,v
retrieving revision 1.2436
diff -u -p -r1.2436 ChangeLog
--- ChangeLog	6 Jul 2004 15:10:16 -0000	1.2436
+++ ChangeLog	7 Jul 2004 11:53:13 -0000
@@ -1,3 +1,11 @@
+2004-07-07  Rodrigo Moya <rodrigo novell com>
+
+	Fixes #60289
+
+	* gui/dialogs/select-source-dialog.c (select_source_dialog): set the
+	absolute URI on the selected source, so that the ESource we keep
+	around has a valid URI.
+
 2004-07-06  Rodrigo Moya <rodrigo novell com>
 
 	* gui/gnome-cal.c (gnome_calendar_init): setup the widgets before
Index: gui/dialogs/select-source-dialog.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/dialogs/select-source-dialog.c,v
retrieving revision 1.9
diff -u -p -r1.9 select-source-dialog.c
--- gui/dialogs/select-source-dialog.c	21 Jun 2004 21:10:47 -0000	1.9
+++ gui/dialogs/select-source-dialog.c	7 Jul 2004 11:53:13 -0000
@@ -156,7 +156,18 @@ select_source_dialog (GtkWindow *parent,
 		g_list_free (icon_list);
 	}
 	
-	if (gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_OK) {
+	if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK) {
+		if (selected_source) {
+			char *absolute_uri;
+
+			/* set the absolute URI on the source we keep around, since the group
+			   will be unrefed */
+			absolute_uri = e_source_build_absolute_uri (selected_source);
+			e_source_set_absolute_uri (selected_source, (const char *) absolute_uri);
+
+			g_free (absolute_uri);
+		}
+	} else {
 		if (selected_source)
 			g_object_unref (selected_source);
 		selected_source = NULL;


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