Blob Blame History Raw
--- evolution-2.7.2.1/calendar/gui/alarm-notify/alarm-queue.c.notification-cleanups	2006-04-22 00:39:20.000000000 -0400
+++ evolution-2.7.2.1/calendar/gui/alarm-notify/alarm-queue.c	2006-05-23 16:04:23.000000000 -0400
@@ -1566,10 +1566,11 @@
 	const char *summary, *location;
 	GtkTooltips *tooltips;
 	ECalComponentText text;
-	char *str, *start_str, *end_str, *alarm_str, *time_str;
+	char *start_str, *end_str, *alarm_str, *time_str;
 	icaltimezone *current_zone;
 	ECalComponentOrganizer organiser;
 	char *body;
+	NotifyNotification *n;
 
 	d(printf("%s:%d (popup_notification)\n",__FILE__, __LINE__));
 	
@@ -1601,9 +1602,6 @@
 	end_str = timet_to_str_with_zone (qa->instance->occur_end, current_zone);
 	time_str = calculate_time (qa->instance->occur_start, qa->instance->occur_end);
 
-	str = g_strdup_printf ("%s %s",
-			       start_str, time_str);
-
 	if (organiser.cn) {
 		if (location)
 			body = g_strdup_printf ("<b>%s</b>\n%s %s\n%s %s", organiser.cn, _("Location:"), location, start_str, time_str);
@@ -1617,16 +1615,21 @@
 			body = g_strdup_printf ("%s %s", start_str, time_str);			
 	}
 
-	NotifyNotification *n = notify_notification_new (summary, body, "stock_appointment-reminder", NULL);
-	if (!notify_notification_show(n, NULL))
+	n = notify_notification_new (summary, body, "stock_appointment-reminder", NULL);
+
+  	/* Notifications don't timeout: require explicit user action: */
+  	notify_notification_set_timeout (n, NOTIFY_EXPIRES_NEVER);
+
+	if (!notify_notification_show (n, NULL))
 	    g_warning ("Could not send notification to daemon\n");	
 
-	/* create the private structure */
+	g_object_unref (n);
+
+	g_free (body);
 	g_free (start_str);
 	g_free (end_str);
 	g_free (alarm_str);
 	g_free (time_str);
-	g_free (str);
 
 
 }