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