From 67d9f11185522ac0c24089c5610b15b5517a6b30 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Wed, 31 Oct 2007 04:18:20 +0000 Subject: [PATCH] fix transitions. SVN revision: 32225 --- src/bin/e_bg.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/bin/e_bg.c b/src/bin/e_bg.c index 4e8b9057e..b0d3ae0f3 100644 --- a/src/bin/e_bg.c +++ b/src/bin/e_bg.c @@ -209,6 +209,7 @@ e_bg_zone_update(E_Zone *zone, E_Bg_Transition transition) } o = edje_object_add(zone->container->bg_evas); zone->transition_object = o; + /* FIXME: segv if zone is deleted while up??? */ evas_object_data_set(o, "e_zone", zone); snprintf(buf, sizeof(buf), "e/transitions/%s", trans); e_theme_edje_object_set(o, "base/theme/transitions", buf); @@ -222,17 +223,24 @@ e_bg_zone_update(E_Zone *zone, E_Bg_Transition transition) o = edje_object_add(zone->container->bg_evas); zone->bg_object = o; evas_object_data_set(o, "e_zone", zone); - evas_object_move(o, zone->x, zone->y); - evas_object_resize(o, zone->w, zone->h); edje_object_file_set(o, bgfile, "e/desktop/background"); - evas_object_layer_set(o, -1); + if (transition == E_BG_TRANSITION_NONE) + { + evas_object_move(o, zone->x, zone->y); + evas_object_resize(o, zone->w, zone->h); + evas_object_layer_set(o, -1); + } evas_object_clip_set(o, zone->bg_clip_object); evas_object_show(o); if (transition != E_BG_TRANSITION_NONE) { + edje_extern_object_max_size_set(zone->prev_bg_object, 65536, 65536); + edje_extern_object_min_size_set(zone->prev_bg_object, 0, 0); edje_object_part_swallow(zone->transition_object, "e.swallow.bg.old", zone->prev_bg_object); + edje_extern_object_max_size_set(zone->bg_object, 65536, 65536); + edje_extern_object_min_size_set(zone->bg_object, 0, 0); edje_object_part_swallow(zone->transition_object, "e.swallow.bg.new", zone->bg_object); edje_object_signal_emit(zone->transition_object, "e,action,start", "e");