jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b8fd5e875ab67cd76467d2fdb52130aff14d4dfd
commit b8fd5e875ab67cd76467d2fdb52130aff14d4dfd Author: Jean-Philippe Andre <[email protected]> Date: Mon Jul 4 17:22:11 2016 +0900 test: Fix strange black rectangle in a test case elementary_test -to "Entry on Page Scroll" Click on "Click this and close popup" A weird rectangle would be temporarily visible while the popup is fading in. The rectangle was the block_events rectangle. By default, elm_popup blocks events, and its parent must be the whole blocked input area. This fixes the parent in the example. I think the block_events region should be fading in and out as well, because it looks terrible right now. Note: this changes the position of the popup, but makes the whole "block_events" thing actually work (avoiding other render artifacts). --- src/bin/elementary/test_entry.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/bin/elementary/test_entry.c b/src/bin/elementary/test_entry.c index 9774f20..b94c525 100644 --- a/src/bin/elementary/test_entry.c +++ b/src/bin/elementary/test_entry.c @@ -685,11 +685,17 @@ test_entry_scrolled(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void * } static void +my_pop_dismissed(void *data EINA_UNUSED, const Eo_Event *ev) +{ + eo_del(ev->object); +} + +static void my_pop_close_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *pop, *en; pop = data; - en = elm_object_parent_widget_get(pop); + en = eo_parent_get(pop); elm_object_text_set(en, "This is very long text," " it is longer than width of this page." " So if scroller is moved to next page," @@ -697,18 +703,19 @@ my_pop_close_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_ " and then click this entry text"); elm_entry_cursor_end_set(en); - evas_object_del(pop); + eo_event_callback_add(pop, ELM_POPUP_EVENT_DISMISSED, my_pop_dismissed, NULL); + elm_popup_dismiss(pop); } static void my_pop_bt_clr(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - Evas_Object *pop, *btn, *en; - en = data; + Evas_Object *pop, *btn, *en = data; elm_object_text_set(en, ""); elm_entry_cursor_end_set(en); - pop = elm_popup_add(en); + pop = elm_popup_add(eo_key_data_get(en, "win")); + eo_parent_set(pop, en); elm_object_text_set(pop, "If you click confirm, " "set long text to entry " "and delete popup obj"); @@ -768,6 +775,7 @@ test_entry_on_page_scroll(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, elm_object_part_content_set(ly, "element1", en); elm_entry_scrollable_set(en, EINA_TRUE); elm_entry_single_line_set(en, EINA_TRUE); + eo_key_data_set(en, "win", win); // no ref evas_object_show(en); btn = elm_button_add(ly); --
