From 46a5aa74552b1b66d8d6e37ff0dbc89056663cdb Mon Sep 17 00:00:00 2001 From: Eric Koegel Date: Mon, 28 May 2012 17:03:18 +0300 Subject: [PATCH] Fix the backdrop cycle timer Fix the backdrop_timer callback function to return TRUE to keep the cycle going. --- src/xfce-backdrop.c | 16 +++++++++++++--- src/xfce-desktop.c | 2 ++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/xfce-backdrop.c b/src/xfce-backdrop.c index 600d7fd..b07492f 100644 --- a/src/xfce-backdrop.c +++ b/src/xfce-backdrop.c @@ -35,6 +35,8 @@ #include #include +#include /* for DBG/TRACE */ + #include "xfce-backdrop.h" #include "xfce-desktop-enum-types.h" #include "xfdesktop-common.h" /* for DEFAULT_BACKDROP */ @@ -52,7 +54,7 @@ static void xfce_backdrop_get_property(GObject *object, guint property_id, GValue *value, GParamSpec *pspec); -static void xfce_backdrop_timer(XfceBackdrop *backdrop); +static gboolean xfce_backdrop_timer(XfceBackdrop *backdrop); struct _XfceBackdropPriv { @@ -831,12 +833,16 @@ xfce_backdrop_get_saturation(XfceBackdrop *backdrop) return backdrop->priv->saturation; } -static void +static gboolean xfce_backdrop_timer(XfceBackdrop *backdrop) { - g_return_if_fail(XFCE_IS_BACKDROP(backdrop)); + TRACE("entering"); + + g_return_val_if_fail(XFCE_IS_BACKDROP(backdrop), FALSE); g_signal_emit(G_OBJECT(backdrop), backdrop_signals[BACKDROP_CYCLE], 0); + + return TRUE; } /** @@ -854,6 +860,8 @@ xfce_backdrop_set_cycle_timer(XfceBackdrop *backdrop, guint cycle_timer) { g_return_if_fail(XFCE_IS_BACKDROP(backdrop)); + TRACE("entering, cycle_timer = %d", cycle_timer); + if(cycle_timer > G_MAXUSHORT) cycle_timer = G_MAXUSHORT; @@ -885,6 +893,8 @@ xfce_backdrop_set_cycle_backdrop(XfceBackdrop *backdrop, { g_return_if_fail(XFCE_IS_BACKDROP(backdrop)); + TRACE("entering, cycle_backdrop ? %s", cycle_backdrop == TRUE ? "TRUE" : "FALSE"); + if(backdrop->priv->cycle_backdrop != cycle_backdrop) { backdrop->priv->cycle_backdrop = cycle_backdrop; /* Start or stop the backdrop changing */ diff --git a/src/xfce-desktop.c b/src/xfce-desktop.c index 493795c..526ecf7 100644 --- a/src/xfce-desktop.c +++ b/src/xfce-desktop.c @@ -385,6 +385,8 @@ backdrop_cycle_cb(XfceBackdrop *backdrop, gpointer user_data) { const gchar* backdrop_list; + TRACE("entering"); + g_return_if_fail(XFCE_IS_BACKDROP(backdrop)); backdrop_list = xfce_backdrop_get_list(backdrop); -- 1.7.9.5