diff options
authorShinwoo Kim <>2018-08-29 16:05:35 +0900
committerHermet Park <>2018-08-29 16:05:35 +0900
commit37f1a46c4a23a19e8aeece005b506dd0727f6196 (patch)
parent6409cfa41b19f04ef7b4247d078d626e9ec77a8f (diff)
Elm.Mapbuf: do not set is_static_clip to its content
Summary: If an object's is_static_clip is TRUE then _evas_render_phase1_object_process does not draw the object and its smart member from the below commit (1). On the other hand, the Elm.Mapbuf sets is_static_clip to its content from the below commit (2). So you cannot see the content. If the commit tried to solve over-render, it could be changed to: if (wd->content) evas_object_static_clip_set(wd->content, !wd->enabled); from: if (wd->content) evas_object_static_clip_set(wd->content, wd->enabled); or there could be another way. (1) commit 1bba6d5759d859d0db9ad5b5556883044d3a1b11 Author: Carsten Haitzler (Rasterman) <> Date: Wed Nov 23 13:57:27 2016 +0900 evas phase 1 process - shortcut objects that are pure static clips only these objects don't actually produce - or should produce update regions etc. etc. as the objects that are clipped should produce those. they are not active objects. so skip them very early after just ensuring they are in delete objects if needed. (2) commit 7ca0a3dcac2ee7fc7d7ae62277dde05a3b77b276 (of core/elementary.git) Author: Carsten Haitzler <> Date: Wed Jan 19 11:59:53 2011 +0000 fix over-render bug in map/mapbuf and with changed flags! that was nasty to find! SVN revision: 56220 Test Plan: [Sample Code] #include <Elementary.h> EAPI_MAIN int elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED) { Evas_Object *win, *bx, *mb, *layout, *icon; unsigned int i, j; char buf[255]; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_util_standard_add("mapbuf", "Mapbuf Example"); elm_win_autodel_set(win, EINA_TRUE); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bx); evas_object_show(bx); mb = elm_mapbuf_add(win); evas_object_size_hint_weight_set(mb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(mb, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, mb); layout = elm_layout_add(win); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, layout); snprintf(buf, sizeof(buf), "/home/kimcinoo/Upstream/efl/src/examples/elementary/layout_example.edj"); elm_layout_file_set(layout, buf, "example/mylayout"); evas_object_show(layout); icon = elm_icon_add(win); elm_icon_standard_set(icon, "home"); evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(icon); elm_object_part_content_set(layout, "example/custom", icon); elm_object_content_set(mb, layout); evas_object_show(mb); elm_mapbuf_enabled_set(mb, EINA_TRUE); evas_object_resize(win, 240, 320); evas_object_show(win); elm_run(); return 0; } ELM_MAIN() Reviewers: raster, Hermet Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers, zmike Tags: #efl Differential Revision:
Diffstat (limited to '')
1 files changed, 0 insertions, 2 deletions
diff --git a/src/lib/elementary/elm_mapbuf.c b/src/lib/elementary/elm_mapbuf.c
index 8be2124a6c..36c9a46977 100644
--- a/src/lib/elementary/elm_mapbuf.c
+++ b/src/lib/elementary/elm_mapbuf.c
@@ -329,8 +329,6 @@ _internal_enable_set(Eo *obj, Elm_Mapbuf_Data *sd, Eina_Bool enabled)
329 if (sd->enabled == enabled) return; 329 if (sd->enabled == enabled) return;
330 sd->enabled = enabled; 330 sd->enabled = enabled;
331 331
332 if (sd->content) evas_object_static_clip_set(sd->content, sd->enabled);
334 if (!sd->enabled && sd->content) 332 if (!sd->enabled && sd->content)
335 { 333 {
336 evas_object_map_set(sd->content, NULL); 334 evas_object_map_set(sd->content, NULL);