From 1f059b500f418dcd1d10e6c3948d880c599f2c1c Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Thu, 14 May 2009 16:37:07 +0000 Subject: [PATCH] * wallpaper2: Prevent the creation of the idler instead of forcing it's destruction. SVN revision: 40645 --- .../conf_wallpaper2/e_int_config_wallpaper.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/modules/conf_wallpaper2/e_int_config_wallpaper.c b/src/modules/conf_wallpaper2/e_int_config_wallpaper.c index ead93afd6..4d372aa67 100644 --- a/src/modules/conf_wallpaper2/e_int_config_wallpaper.c +++ b/src/modules/conf_wallpaper2/e_int_config_wallpaper.c @@ -138,6 +138,7 @@ _e_smart_reconfigure_do(void *data) Eina_List *l; Item *it; int iw, redo = 0, changed = 0; + static int recursion = 0; Evas_Coord x, y, xx, yy, ww, hh, cw, ch, mw, mh, ox, oy, dd; if (!sd) return 0; @@ -207,7 +208,12 @@ _e_smart_reconfigure_do(void *data) sd->cy = 0; redo = 1; } - if (redo) _e_smart_reconfigure_do(obj); + if (redo) + { + recursion = 1; + _e_smart_reconfigure_do(obj); + recursion = 0; + } changed = 1; } @@ -407,11 +413,7 @@ _e_smart_reconfigure_do(void *data) if (changed) evas_object_smart_callback_call(obj, "changed", NULL); - if (sd->idle_enter) - { - ecore_idle_enterer_del(sd->idle_enter); - sd->idle_enter = NULL; - } + if (recursion == 0) sd->idle_enter = NULL; return 0; }