diff options
-rw-r--r-- | src/client_idle.c | 16 | ||||
-rw-r--r-- | src/client_idle.h | 3 |
2 files changed, 14 insertions, 5 deletions
diff --git a/src/client_idle.c b/src/client_idle.c index 87f12193c..930911d6e 100644 --- a/src/client_idle.c +++ b/src/client_idle.c @@ -51,12 +51,9 @@ client_idle_notify(struct client *client) g_timer_start(client->last_activity); } -static void -client_idle_callback(gpointer data, gpointer user_data) +void +client_idle_add(struct client *client, unsigned flags) { - struct client *client = data; - unsigned flags = GPOINTER_TO_UINT(user_data); - if (client_is_expired(client)) return; @@ -68,6 +65,15 @@ client_idle_callback(gpointer data, gpointer user_data) } } +static void +client_idle_callback(gpointer data, gpointer user_data) +{ + struct client *client = data; + unsigned flags = GPOINTER_TO_UINT(user_data); + + client_idle_add(client, flags); +} + void client_manager_idle_add(unsigned flags) { assert(flags != 0); diff --git a/src/client_idle.h b/src/client_idle.h index 7a74a6e50..c56fd014c 100644 --- a/src/client_idle.h +++ b/src/client_idle.h @@ -24,6 +24,9 @@ struct client; +void +client_idle_add(struct client *client, unsigned flags); + /** * Adds the specified idle flags to all clients and immediately sends * notifications to all waiting clients. |