From 3c9d6c13cc0d65d4d439288a11b5e683ac151db6 Mon Sep 17 00:00:00 2001
From: Frederic Culot <calcurse@culot.org>
Date: Sun, 9 Aug 2009 15:34:56 +0000
Subject: notify_thread_app rewritten

---
 src/notify.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

(limited to 'src')

diff --git a/src/notify.c b/src/notify.c
index 5b2ffe0..1d4eb51 100755
--- a/src/notify.c
+++ b/src/notify.c
@@ -1,4 +1,4 @@
-/*	$calcurse: notify.c,v 1.44 2009/08/02 09:30:01 culot Exp $	*/
+/*	$calcurse: notify.c,v 1.45 2009/08/09 15:34:56 culot Exp $	*/
 
 /*
  * Calcurse - text-based organizer
@@ -426,21 +426,22 @@ notify_thread_app (void *arg)
 {
   struct notify_app_s tmp_app;
 
-  (void)notify_get_next (&tmp_app);
+  if (!notify_get_next (&tmp_app))
+    pthread_exit ((void *)0);
+  
   pthread_mutex_lock (&notify_app.mutex);
-  if (tmp_app.got_app)
+  if (!tmp_app.got_app)
     {
-      notify_update_app (tmp_app.time, tmp_app.state, tmp_app.txt);
+      notify_free_app ();
     }
   else
     {
-      notify_free_app ();
-      notify_app.got_app = 0;
-      notify_app.txt = 0;
+      if (!notify_same_item (tmp_app.time))
+        notify_update_app (tmp_app.time, tmp_app.state, tmp_app.txt);
     }
   pthread_mutex_unlock (&notify_app.mutex);
-
-  if (tmp_app.txt != NULL)
+  
+  if (tmp_app.txt)
     mem_free (tmp_app.txt);
   notify_update_bar ();
 
-- 
cgit v1.2.3-70-g09d2