[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