[Xfce4-commits] <xfce4-notifyd:master> Fix integer wrap-around for short timeouts (bug #8580)

Jérôme Guelfucci noreply at xfce.org
Sat Dec 8 16:24:01 CET 2012


Updating branch refs/heads/master
         to efafaeeb4d0b0a0c479bae3601716a78cdd8f2af (commit)
       from 51cf55929933fa58c3439dc52e0e293f80bd8f21 (commit)

commit efafaeeb4d0b0a0c479bae3601716a78cdd8f2af
Author: Alec Moskvin <alecm at gmx.com>
Date:   Mon Jun 11 12:15:56 2012 -0400

    Fix integer wrap-around for short timeouts (bug #8580)

 xfce4-notifyd/xfce-notify-window.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/xfce4-notifyd/xfce-notify-window.c b/xfce4-notifyd/xfce-notify-window.c
index 8364d7a..6df2512 100644
--- a/xfce4-notifyd/xfce-notify-window.c
+++ b/xfce4-notifyd/xfce-notify-window.c
@@ -268,6 +268,7 @@ xfce_notify_window_start_expiration(XfceNotifyWindow *window)
 {
     if(window->expire_timeout) {
         GTimeVal ct;
+        guint timeout;
         gboolean fade_transparent;
 
         g_get_current_time(&ct);
@@ -275,10 +276,15 @@ xfce_notify_window_start_expiration(XfceNotifyWindow *window)
         fade_transparent =
             gdk_screen_is_composited(gtk_window_get_screen(GTK_WINDOW (window)));
 
+        if(!fade_transparent)
+            timeout = window->expire_timeout;
+        else if(window->expire_timeout > FADE_TIME)
+            timeout = window->expire_timeout - FADE_TIME;
+        else
+            timeout = FADE_TIME;
+
         window->expire_start_timestamp = ct.tv_sec * 1000 + ct.tv_usec / 1000;
-        window->expire_id = g_timeout_add(fade_transparent
-                                          ? window->expire_timeout - FADE_TIME
-                                          : window->expire_timeout,
+        window->expire_id = g_timeout_add(timeout,
                                           xfce_notify_window_expire_timeout,
                                           window);
     }


More information about the Xfce4-commits mailing list