From: Jaehyun Cho Date: Wed, 5 Feb 2020 10:43:49 +0000 (+0900) Subject: efl_extension_more_option: fix not to pass touch events behind panel X-Git-Tag: submit/tizen/20200213.043550~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F09%2F224009%2F1;p=platform%2Fcore%2Fuifw%2Fefl-ext.git efl_extension_more_option: fix not to pass touch events behind panel Whenever panel becomes inactive by elm_panel_toggle(), repeat events is set true and it causes that touch events are passed through panel. Not to pass touch events behind the panel, repeat events should be set false in the panel's inactive callback. Change-Id: I93e980b9c86fb0a56c135d6dfdd747c2065910ab --- diff --git a/src/wearable/efl_extension_more_option.c b/src/wearable/efl_extension_more_option.c index 3d09a73..2647138 100644 --- a/src/wearable/efl_extension_more_option.c +++ b/src/wearable/efl_extension_more_option.c @@ -1430,6 +1430,15 @@ _panel_inactive_cb(void *data, Evas_Object *obj, const char *emission, const cha Eext_More_Option_Data *mold = data; if (mold) { + /* Whenever panel becomes inactive by elm_panel_toggle(), repeat events + * is set true and it causes that touch events are passed through panel. + * In eext_more_option_add(), panel is created and elm_panel_toggle() is + * called so this inactive callback is called but mold->is_panel_active + * is still false. + * Therefore, repeat events should be set false regardless of the value + * mold->is_panel_active not to pass touch events behind the panel. */ + evas_object_repeat_events_set(mold->panel, EINA_FALSE); + /*ONEUI1.5(10Oct2019): Do nothing in inactive state when panel was not active. This case occurs when panel first loaded with toggle signal which invokes inactive state and before cue clicked is processed, inactive state @@ -1437,7 +1446,6 @@ _panel_inactive_cb(void *data, Evas_Object *obj, const char *emission, const cha */ if (!mold->is_panel_active) return; // - evas_object_repeat_events_set(mold->panel, EINA_FALSE); LOGI("Panel is inactive"); evas_object_smart_callback_call(mold->more_option, "more,option,closed", NULL); if (__elm_product_theme_is_loaded())