From 4d9173c2696581ce1548a03ac2dbf31c7280ef4c Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <fourdan.olivier@wanadoo.fr>
Date: Tue, 30 Sep 2008 09:02:23 +0000
Subject: [PATCH] Make sure the passed timestamp is not zero

(Old svn revision: 27991)
---
 src/netwm.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/netwm.c b/src/netwm.c
index 7e9d46a5a..cc12ccbf3 100644
--- a/src/netwm.c
+++ b/src/netwm.c
@@ -1411,8 +1411,10 @@ clientReceiveNetWMPong (ScreenInfo *screen_info, Time timestamp)
 gboolean
 clientSendNetWMPing (Client *c, Time timestamp)
 {
+    ScreenInfo *screen_info;
+    DisplayInfo *display_info;
+
     g_return_val_if_fail (c != NULL, FALSE);
-    g_return_val_if_fail (timestamp != CurrentTime, FALSE);
 
     TRACE ("entering clientSendNetWMPing");
 
@@ -1423,8 +1425,14 @@ clientSendNetWMPing (Client *c, Time timestamp)
 
     clientRemoveNetWMPing (c);
 
-    c->ping_time = timestamp;
-    sendClientMessage (c->screen_info, c->window, NET_WM_PING, timestamp);
+    screen_info = c->screen_info;
+    display_info = screen_info->display_info;
+
+    /* Makes sure the tiemstamp is meaningfull */
+    c->ping_time = myDisplayGetTime (display_info, timestamp);
+    g_return_val_if_fail (timestamp != CurrentTime, FALSE);
+
+    sendClientMessage (screen_info, c->window, NET_WM_PING, timestamp);
     c->ping_timeout_id =
         g_timeout_add_full (G_PRIORITY_DEFAULT,
                             CLIENT_PING_TIMEOUT,
-- 
GitLab