From: ChunEon Park Date: Fri, 27 Sep 2013 12:55:59 +0000 (+0900) Subject: elementary/mapbuf - refactoring mapbuf code. X-Git-Tag: upstream/1.20.0~7116^2~14^2~4003 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c025526e2def90bd797180e3256c282c19b842b8;p=platform%2Fupstream%2Fefl.git elementary/mapbuf - refactoring mapbuf code. Disable the map only once the mapbuf is disabled. --- diff --git a/legacy/elementary/src/lib/elm_mapbuf.c b/legacy/elementary/src/lib/elm_mapbuf.c index 6f56ccd..98d49e4 100644 --- a/legacy/elementary/src/lib/elm_mapbuf.c +++ b/legacy/elementary/src/lib/elm_mapbuf.c @@ -89,23 +89,15 @@ _mapbuf(Evas_Object *obj) ELM_MAPBUF_DATA_GET(obj, sd); Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS); - if (sd->enabled) - { - static Evas_Map *m = NULL; - - if (!m) m = evas_map_new(4); - evas_object_geometry_get(wd->resize_obj, &x, &y, &w, &h); - evas_map_util_points_populate_from_geometry(m, x, y, w, h, 0); - evas_map_smooth_set(m, sd->smooth); - evas_map_alpha_set(m, sd->alpha); - evas_object_map_set(sd->content, m); - evas_object_map_enable_set(sd->content, EINA_TRUE); - } - else - { - evas_object_map_set(sd->content, NULL); - evas_object_map_enable_set(sd->content, EINA_FALSE); - } + static Evas_Map *m = NULL; + + if (!m) m = evas_map_new(4); + evas_object_geometry_get(wd->resize_obj, &x, &y, &w, &h); + evas_map_util_points_populate_from_geometry(m, x, y, w, h, 0); + evas_map_smooth_set(m, sd->smooth); + evas_map_alpha_set(m, sd->alpha); + evas_object_map_set(sd->content, m); + evas_object_map_enable_set(sd->content, EINA_TRUE); } static void @@ -122,9 +114,7 @@ _configure(Evas_Object *obj, Eina_Bool update_force) if ((update_force) || ((x != x2) || (y != y2) || (w != w2) || (h != h2))) { - if (!sd->enabled) - evas_object_move(sd->content, x, y); - else + if (sd->enabled) { Evas *e = evas_object_evas_get(obj); /* This causes many side effects in calculating mapbuf objects. @@ -134,8 +124,11 @@ _configure(Evas_Object *obj, Eina_Bool update_force) evas_object_move(sd->content, x, y); // evas_smart_objects_calculate(e); evas_nochange_pop(e); + + _mapbuf(obj); } - _mapbuf(obj); + else + evas_object_move(sd->content, x, y); } } @@ -361,6 +354,12 @@ _internal_enable_set(Eo *obj, Elm_Mapbuf_Smart_Data *sd, Eina_Bool enabled) sd->enabled = enabled; if (sd->content) evas_object_static_clip_set(sd->content, sd->enabled); + + if (!sd->enabled && sd->content) + { + evas_object_map_set(sd->content, NULL); + evas_object_map_enable_set(sd->content, EINA_FALSE); + } _configure(obj, EINA_TRUE); }