jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1610ed12a8fe56bc4534d01f86b6e61620a1029a
commit 1610ed12a8fe56bc4534d01f86b6e61620a1029a Author: Jean-Philippe Andre <jp.an...@samsung.com> Date: Thu Aug 24 14:33:36 2017 +0900 widget: Make theme_apply a protected function (EO) This is a strange function but absolutely necessary to implement a widget. Even non-layout widgets may override this. Ref T5363 --- src/lib/elementary/elm_widget.c | 4 +--- src/lib/elementary/elm_widget.eo | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index 6639bab965..61e83f7f16 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -1209,9 +1209,7 @@ elm_widget_theme(Evas_Object *obj) EINA_LIST_FOREACH(sd->cursors, l, cur) elm_cursor_theme(cur); - Efl_Ui_Theme_Apply ret2 = EFL_UI_THEME_APPLY_FAILED; - ret2 = elm_obj_widget_theme_apply(obj); - ret &= ret2; + ret &= elm_obj_widget_theme_apply(obj); return ret; } diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index 4992dc3401..2034a6b5cb 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo @@ -398,9 +398,19 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, } return: bool; [[Indicates if the operation succeeded.]] } - theme_apply { - [['Virtual' function on the widget being re-themed.]] - return: Efl.Ui.Theme.Apply; [[Theme apply]] + theme_apply @protected { + [[Virtual function called when the widget needs to re-apply its theme. + + This may be called when the object is first created, or whenever + the widget is modified in any way that may require a reload of the + theme. This may include but is not limited to scale, theme, or + mirrored mode changes. + + Note: even widgets not based on layouts may override this method + to handle widget updates (scale, mirrored mode, etc...). + ]] + return: Efl.Ui.Theme.Apply; [[Indicates success, and if the current + theme or default theme was used.]] } activate { [['Virtual' function to activate widget.]] --