From d4a806b062458ad27583667a80a81c4b81ebbc12 Mon Sep 17 00:00:00 2001 From: Olivier Fourdan <fourdan.olivier@wanadoo.fr> Date: Tue, 6 Nov 2007 22:52:31 +0000 Subject: [PATCH] Get highest user time at initial client capture (Old svn revision: 26262) --- src/client.c | 2 +- src/display.c | 12 ++++++++++++ src/display.h | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/client.c b/src/client.c index 97aa33ba0..16709d5db 100644 --- a/src/client.c +++ b/src/client.c @@ -1586,7 +1586,7 @@ clientGetUserTime (Client * c) if (getNetWMUserTime (display_info, c->window, &c->user_time) && (c->user_time != 0)) { FLAG_SET (c->flags, CLIENT_FLAG_HAS_USER_TIME); - myDisplaySetLastUserTime (display_info, c->user_time); + myDisplayUpdateLastUserTime (display_info, c->user_time); } } diff --git a/src/display.c b/src/display.c index 7bec3515f..68670b3e7 100644 --- a/src/display.c +++ b/src/display.c @@ -753,6 +753,18 @@ myDisplaySetLastUserTime (DisplayInfo *display, Time timestamp) display->last_user_time = timestamp; } +void +myDisplayUpdateLastUserTime (DisplayInfo *display, Time timestamp) +{ + g_return_if_fail (display != NULL); + g_return_if_fail (timestamp != (Time) 0); + + if (TIMESTAMP_IS_BEFORE(display->last_user_time, timestamp)) + { + display->last_user_time = timestamp; + } +} + gboolean myDisplayTestXrender (DisplayInfo *display, gdouble min_time) { diff --git a/src/display.h b/src/display.h index 29815e9c8..8ff460b7c 100644 --- a/src/display.h +++ b/src/display.h @@ -384,6 +384,8 @@ Time myDisplayGetTime (DisplayInfo *, Time myDisplayGetLastUserTime (DisplayInfo *); void myDisplaySetLastUserTime (DisplayInfo *, Time); +void myDisplayUpdateLastUserTime (DisplayInfo *, + Time); gboolean myDisplayTestXrender (DisplayInfo *, gdouble); -- GitLab