summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xChangeLog3
-rw-r--r--src/dmon.c15
2 files changed, 13 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index f64c052..abcc605 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,9 @@
configuration data
* src/io.c (io_extract_data): do not read past the maximum length
+
+ * src/dmon.c (dmon_start): avoid multiple notifications of the
+ same appointment
2009-07-27 Frederic Culot <frederic@culot.org>
diff --git a/src/dmon.c b/src/dmon.c
index 4a93bcb..72f4887 100644
--- a/src/dmon.c
+++ b/src/dmon.c
@@ -1,4 +1,4 @@
-/* $calcurse: dmon.c,v 1.7 2009/07/27 21:02:55 culot Exp $ */
+/* $calcurse: dmon.c,v 1.8 2009/07/29 19:11:58 culot Exp $ */
/*
* Calcurse - text-based organizer
@@ -161,6 +161,7 @@ daemonize (int status)
void
dmon_start (int parent_exit_status)
{
+ struct notify_app_s next;
conf_t conf;
if (!daemonize (parent_exit_status))
@@ -182,11 +183,12 @@ dmon_start (int parent_exit_status)
io_load_app ();
data_loaded = 1;
+ next.got_app = 0;
for (;;)
{
- struct notify_app_s next;
-
- (void)notify_get_next (&next);
+ if (!next.got_app)
+ (void)notify_get_next (&next);
+
if (next.got_app)
{
int left;
@@ -195,7 +197,10 @@ dmon_start (int parent_exit_status)
left = notify_time_left ();
if (left < nbar.cntdwn)
- notify_launch_cmd ();
+ {
+ notify_launch_cmd ();
+ next.got_app = 0;
+ }
}
if (next.txt)