zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=644b771fe43ad76a70de8f6e1a07ca9159c3458c

commit 644b771fe43ad76a70de8f6e1a07ca9159c3458c
Author: Mike Blumenkrantz <zm...@samsung.com>
Date:   Mon Mar 4 13:36:41 2019 -0500

    efl.ui: Efl.Ui.Theme_Apply_Result -> Efl.Ui.Theme_Apply_Error
    
    Summary:
    this swaps the values of "no error" and "error" in order to maintain
    consistency with the rest of efl where the zero value means "no error"
    Depends on D8060
    
    Reviewers: cedric
    
    Reviewed By: cedric
    
    Subscribers: segfaultxavi, cedric, #reviewers, #committers
    
    Tags: #efl_api
    
    Differential Revision: https://phab.enlightenment.org/D8063
---
 src/lib/elementary/efl_ui.eot                      |  8 +--
 src/lib/elementary/efl_ui_bg.c                     |  4 +-
 src/lib/elementary/efl_ui_button.c                 | 10 +--
 src/lib/elementary/efl_ui_calendar.c               | 10 +--
 src/lib/elementary/efl_ui_check.c                  | 15 ++---
 src/lib/elementary/efl_ui_clock.c                  | 10 +--
 src/lib/elementary/efl_ui_datepicker.c             |  8 +--
 src/lib/elementary/efl_ui_flip.c                   |  6 +-
 src/lib/elementary/efl_ui_frame.c                  |  4 +-
 src/lib/elementary/efl_ui_grid.c                   |  6 +-
 src/lib/elementary/efl_ui_grid_default_item.c      |  4 +-
 src/lib/elementary/efl_ui_image.c                  |  6 +-
 src/lib/elementary/efl_ui_image_zoomable.c         |  6 +-
 src/lib/elementary/efl_ui_layout.c                 | 26 ++++----
 src/lib/elementary/efl_ui_layout_base.eo           |  4 +-
 src/lib/elementary/efl_ui_list.c                   | 10 +--
 src/lib/elementary/efl_ui_list_default_item.c      |  4 +-
 src/lib/elementary/efl_ui_list_empty_item.c        |  4 +-
 src/lib/elementary/efl_ui_navigation_bar.c         |  8 +--
 src/lib/elementary/efl_ui_navigation_layout.c      |  8 +--
 src/lib/elementary/efl_ui_nstate.c                 |  6 +-
 src/lib/elementary/efl_ui_pager.c                  |  8 +--
 src/lib/elementary/efl_ui_panel.c                  |  8 +--
 src/lib/elementary/efl_ui_panes.c                  | 10 +--
 src/lib/elementary/efl_ui_popup.c                  |  4 +-
 src/lib/elementary/efl_ui_progressbar.c            | 23 ++++---
 src/lib/elementary/efl_ui_radio.c                  | 14 ++--
 src/lib/elementary/efl_ui_scroller.c               |  6 +-
 src/lib/elementary/efl_ui_slider.c                 | 16 ++---
 src/lib/elementary/efl_ui_spin.c                   |  8 +--
 src/lib/elementary/efl_ui_spin_button.c            | 17 ++---
 src/lib/elementary/efl_ui_tab_bar.c                | 13 ++--
 src/lib/elementary/efl_ui_tab_page.c               |  9 +--
 src/lib/elementary/efl_ui_table.c                  |  6 +-
 src/lib/elementary/efl_ui_tags.c                   |  6 +-
 src/lib/elementary/efl_ui_text.c                   | 12 ++--
 src/lib/elementary/efl_ui_text_factory_emoticons.c |  2 +-
 src/lib/elementary/efl_ui_textpath.c               |  6 +-
 src/lib/elementary/efl_ui_timepicker.c             |  8 +--
 src/lib/elementary/efl_ui_video.c                  |  4 +-
 src/lib/elementary/efl_ui_widget.c                 | 74 +++++++++++++++-------
 src/lib/elementary/efl_ui_widget.eo                |  6 +-
 src/lib/elementary/efl_ui_win.c                    | 22 +++----
 src/lib/elementary/elc_combobox.c                  |  8 +--
 src/lib/elementary/elc_ctxpopup.c                  |  8 +--
 src/lib/elementary/elc_fileselector.c              |  6 +-
 src/lib/elementary/elc_fileselector_button.c       |  8 +--
 src/lib/elementary/elc_fileselector_entry.c        |  8 +--
 src/lib/elementary/elc_hoversel.c                  |  8 +--
 src/lib/elementary/elc_multibuttonentry.c          | 10 +--
 src/lib/elementary/elc_naviframe.c                 |  4 +-
 src/lib/elementary/elc_player.c                    |  6 +-
 src/lib/elementary/elc_popup.c                     |  4 +-
 src/lib/elementary/elm_actionslider.c              |  8 +--
 src/lib/elementary/elm_box.c                       |  8 +--
 src/lib/elementary/elm_calendar.c                  |  6 +-
 src/lib/elementary/elm_clock.c                     |  6 +-
 src/lib/elementary/elm_code_widget.c               | 12 ++--
 src/lib/elementary/elm_colorselector.c             |  8 +--
 src/lib/elementary/elm_conform.c                   |  6 +-
 src/lib/elementary/elm_dayselector.c               |  6 +-
 src/lib/elementary/elm_diskselector.c              |  6 +-
 src/lib/elementary/elm_entry.c                     | 22 +++----
 src/lib/elementary/elm_flipselector.c              |  8 +--
 src/lib/elementary/elm_gengrid.c                   | 10 +--
 src/lib/elementary/elm_genlist.c                   | 10 +--
 src/lib/elementary/elm_grid.c                      |  6 +-
 src/lib/elementary/elm_hover.c                     |  6 +-
 src/lib/elementary/elm_icon.c                      |  6 +-
 src/lib/elementary/elm_index.c                     |  6 +-
 src/lib/elementary/elm_label.c                     |  8 +--
 src/lib/elementary/elm_list.c                      |  6 +-
 src/lib/elementary/elm_main.c                      |  4 +-
 src/lib/elementary/elm_map.c                       |  8 +--
 src/lib/elementary/elm_mapbuf.c                    |  6 +-
 src/lib/elementary/elm_menu.c                      |  6 +-
 src/lib/elementary/elm_notify.c                    |  8 +--
 src/lib/elementary/elm_panel.c                     |  8 +--
 src/lib/elementary/elm_photo.c                     |  6 +-
 src/lib/elementary/elm_plug.c                      |  6 +-
 src/lib/elementary/elm_priv.h                      |  4 +-
 src/lib/elementary/elm_route.c                     |  6 +-
 src/lib/elementary/elm_scroller.c                  |  6 +-
 src/lib/elementary/elm_segment_control.c           |  6 +-
 src/lib/elementary/elm_separator.c                 |  6 +-
 src/lib/elementary/elm_slider.c                    | 10 +--
 src/lib/elementary/elm_spinner.c                   | 10 +--
 src/lib/elementary/elm_table.c                     |  6 +-
 src/lib/elementary/elm_theme.c                     | 17 ++---
 src/lib/elementary/elm_toolbar.c                   | 10 +--
 src/lib/elementary/elm_widget.h                    |  8 +--
 src/lib/elementary/els_cursor.c                    | 12 ++--
 src/lib/elementary/els_tooltip.c                   |  4 +-
 src/lib/elementary/elu_ews_wm.c                    |  2 +-
 94 files changed, 429 insertions(+), 403 deletions(-)

diff --git a/src/lib/elementary/efl_ui.eot b/src/lib/elementary/efl_ui.eot
index ea61daf86c..7f643fd173 100644
--- a/src/lib/elementary/efl_ui.eot
+++ b/src/lib/elementary/efl_ui.eot
@@ -1,14 +1,14 @@
 /* Efl.Ui enum and struct types */
 
-enum Efl.Ui.Theme_Apply_Result
+enum Efl.Ui.Theme_Apply_Error
 {
    [[Return error code when setting the style on a widget.]]
-   fail = 0,    [[Failed to apply theme. The widget may become unusable.]]
+   none = 0,  [[Successfully applied the requested style from the current
+               theme.]]
    default = 1, [[Successfully applied the default style. The widget may
                   look different from the rest of the UI if a custom theme
                   is in use, but it should be usable.]]
-   success = 3  [[Successfully applied the requested style from the current
-                  theme.]]
+   generic = 2,    [[Failed to apply theme. The widget may become unusable.]]
 }
 
 enum Efl.Ui.Focus.Direction
diff --git a/src/lib/elementary/efl_ui_bg.c b/src/lib/elementary/efl_ui_bg.c
index 54b29d91b2..ad7b69e2f8 100644
--- a/src/lib/elementary/efl_ui_bg.c
+++ b/src/lib/elementary/efl_ui_bg.c
@@ -32,10 +32,10 @@ _efl_ui_bg_efl_object_constructor(Eo *obj, Efl_Ui_Bg_Data 
*pd)
    elm_widget_sub_object_parent_add(obj);
    elm_widget_can_focus_set(obj, EINA_FALSE);
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
                                        elm_widget_theme_klass_get(obj),
                                        elm_widget_theme_element_get(obj),
-                                       elm_widget_theme_style_get(obj)))
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    if (elm_widget_is_legacy(obj))
diff --git a/src/lib/elementary/efl_ui_button.c 
b/src/lib/elementary/efl_ui_button.c
index 1be677dca3..f854881482 100644
--- a/src/lib/elementary/efl_ui_button.c
+++ b/src/lib/elementary/efl_ui_button.c
@@ -255,10 +255,10 @@ _efl_ui_button_efl_canvas_group_group_add(Eo *obj, 
Efl_Ui_Button_Data *_pd EINA_
 
    elm_widget_can_focus_set(obj, EINA_TRUE);
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
                                        elm_widget_theme_klass_get(obj),
                                        elm_widget_theme_element_get(obj),
-                                       elm_widget_theme_style_get(obj)))
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 }
 
@@ -442,13 +442,13 @@ _icon_signal_emit(Evas_Object *obj)
 /* FIXME: replicated from elm_layout just because button's icon spot
  * is elm.swallow.content, not elm.swallow.icon. Fix that whenever we
  * can changed the theme API */
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_button_legacy_efl_ui_widget_theme_apply(Eo *obj, void *_pd EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, 
EFL_UI_BUTTON_LEGACY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
    _icon_signal_emit(obj);
 
    return int_ret;
diff --git a/src/lib/elementary/efl_ui_calendar.c 
b/src/lib/elementary/efl_ui_calendar.c
index 3e5d34dd7a..b2602d3c09 100644
--- a/src/lib/elementary/efl_ui_calendar.c
+++ b/src/lib/elementary/efl_ui_calendar.c
@@ -510,13 +510,13 @@ _spinner_buttons_add(Evas_Object *obj, 
Efl_Ui_Calendar_Data *sd)
      }
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_calendar_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Calendar_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _spinner_buttons_add(obj, sd);
 
@@ -938,10 +938,10 @@ _efl_ui_calendar_constructor_internal(Eo *obj, 
Efl_Ui_Calendar_Data *priv)
 
    if (!elm_widget_theme_klass_get(obj))
      elm_widget_theme_klass_set(obj, "calendar");
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
                                        elm_widget_theme_klass_get(obj),
                                        elm_widget_theme_element_get(obj),
-                                       elm_widget_theme_style_get(obj)))
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    evas_object_smart_changed(obj);
diff --git a/src/lib/elementary/efl_ui_check.c 
b/src/lib/elementary/efl_ui_check.c
index 6b5dd01645..b079796fd7 100644
--- a/src/lib/elementary/efl_ui_check.c
+++ b/src/lib/elementary/efl_ui_check.c
@@ -135,16 +135,15 @@ _key_action_activate(Evas_Object *obj, const char *params 
EINA_UNUSED)
    return EINA_TRUE;
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_check_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Check_Data *sd 
EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    if (elm_widget_is_legacy(obj))
      {
@@ -492,13 +491,13 @@ _icon_signal_emit(Evas_Object *obj)
 /* FIXME: replicated from elm_layout just because check's icon spot
  * is elm.swallow.content, not elm.swallow.icon. Fix that whenever we
  * can changed the theme API */
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_check_legacy_efl_ui_widget_theme_apply(Eo *obj, void *_pd EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, 
EFL_UI_CHECK_LEGACY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _icon_signal_emit(obj);
 
diff --git a/src/lib/elementary/efl_ui_clock.c 
b/src/lib/elementary/efl_ui_clock.c
index e5a2eb9da1..c44b47a3a1 100644
--- a/src/lib/elementary/efl_ui_clock.c
+++ b/src/lib/elementary/efl_ui_clock.c
@@ -514,10 +514,10 @@ _efl_ui_clock_elm_layout_sizing_eval(Eo *obj, 
Efl_Ui_Clock_Data *sd)
    evas_object_size_hint_max_set(obj, -1, -1);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_clock_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Clock_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    Clock_Field *field;
    char buf[BUFFER_SIZE];
@@ -527,7 +527,7 @@ _efl_ui_clock_efl_ui_widget_theme_apply(Eo *obj, 
Efl_Ui_Clock_Data *sd)
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    dt_mod = _dt_mod_init();
    if ((!dt_mod) || (!dt_mod->field_value_display)) return EINA_TRUE;
@@ -857,10 +857,10 @@ _efl_ui_clock_efl_canvas_group_group_add(Eo *obj, 
Efl_Ui_Clock_Data *priv)
    efl_canvas_group_add(efl_super(obj, MY_CLASS));
    elm_widget_sub_object_parent_add(obj);
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
                                        elm_widget_theme_klass_get(obj),
                                        elm_widget_theme_element_get(obj),
-                                       elm_widget_theme_style_get(obj)))
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    // module - initialise module for clock
diff --git a/src/lib/elementary/efl_ui_datepicker.c 
b/src/lib/elementary/efl_ui_datepicker.c
index 493dbfa674..872f67b90a 100644
--- a/src/lib/elementary/efl_ui_datepicker.c
+++ b/src/lib/elementary/efl_ui_datepicker.c
@@ -244,10 +244,10 @@ _efl_ui_datepicker_efl_object_constructor(Eo *obj, 
Efl_Ui_Datepicker_Data *pd)
      elm_widget_theme_klass_set(obj, "datepicker");
    obj = efl_constructor(efl_super(obj, MY_CLASS));
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
-                                    elm_widget_theme_klass_get(obj),
-                                    elm_widget_theme_element_get(obj),
-                                    elm_widget_theme_style_get(obj)))
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
+                                       elm_widget_theme_klass_get(obj),
+                                       elm_widget_theme_element_get(obj),
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    pd->dt_manager = efl_add(EFL_DATETIME_MANAGER_CLASS, obj);
diff --git a/src/lib/elementary/efl_ui_flip.c b/src/lib/elementary/efl_ui_flip.c
index 7461505e03..84b46834f9 100644
--- a/src/lib/elementary/efl_ui_flip.c
+++ b/src/lib/elementary/efl_ui_flip.c
@@ -97,12 +97,12 @@ _sizing_eval(Evas_Object *obj)
    evas_object_size_hint_max_set(obj, maxw, maxh);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_flip_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Flip_Data *sd 
EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _sizing_eval(obj);
 
diff --git a/src/lib/elementary/efl_ui_frame.c 
b/src/lib/elementary/efl_ui_frame.c
index 686fdc6cc1..45d1f91787 100644
--- a/src/lib/elementary/efl_ui_frame.c
+++ b/src/lib/elementary/efl_ui_frame.c
@@ -136,10 +136,10 @@ _efl_ui_frame_efl_canvas_group_group_add(Eo *obj, 
Efl_Ui_Frame_Data *_pd EINA_UN
 
    elm_widget_can_focus_set(obj, EINA_FALSE);
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
                                        elm_widget_theme_klass_get(obj),
                                        elm_widget_theme_element_get(obj),
-                                       elm_widget_theme_style_get(obj)))
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    elm_layout_sizing_eval(obj);
diff --git a/src/lib/elementary/efl_ui_grid.c b/src/lib/elementary/efl_ui_grid.c
index a42dcbbd2d..863a8801d5 100644
--- a/src/lib/elementary/efl_ui_grid.c
+++ b/src/lib/elementary/efl_ui_grid.c
@@ -844,12 +844,12 @@ _efl_ui_grid_efl_ui_direction_direction_get(const Eo *obj 
EINA_UNUSED, Efl_Ui_Gr
 }
 
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_grid_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Grid_Data *pd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    efl_ui_mirrored_set(pd->smanager, efl_ui_mirrored_get(obj));
 
diff --git a/src/lib/elementary/efl_ui_grid_default_item.c 
b/src/lib/elementary/efl_ui_grid_default_item.c
index ffc5e674a0..d874823a7b 100644
--- a/src/lib/elementary/efl_ui_grid_default_item.c
+++ b/src/lib/elementary/efl_ui_grid_default_item.c
@@ -23,9 +23,9 @@ _efl_ui_grid_default_item_efl_object_finalize(Eo *obj, void 
*pd EINA_UNUSED)
    Eo *eo;
    eo = efl_finalize(efl_super(obj, MY_CLASS));
    ELM_WIDGET_DATA_GET_OR_RETURN(eo, wd, eo);
-   Efl_Ui_Theme_Apply_Result theme_apply = efl_ui_layout_theme_set(obj, 
"grid_item", NULL, NULL);
+   Efl_Ui_Theme_Apply_Error theme_apply = efl_ui_layout_theme_set(obj, 
"grid_item", NULL, NULL);
 
-   if (theme_apply == EFL_UI_THEME_APPLY_RESULT_FAIL)
+   if (theme_apply == EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Default Item(%p) failed to set theme [efl/grid_item]!", eo);
    return eo;
 }
diff --git a/src/lib/elementary/efl_ui_image.c 
b/src/lib/elementary/efl_ui_image.c
index 479f1e4d4a..91b70a260d 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -717,16 +717,16 @@ _efl_ui_image_efl_canvas_object_clipper_set(Eo *obj, 
Efl_Ui_Image_Data *sd, Evas
    if (sd->prev_img) evas_object_clip_set(sd->prev_img, clip);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_image_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Image_Data *sd 
EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    if (sd->stdicon)
      _elm_theme_object_icon_set(obj, sd->stdicon, elm_widget_style_get(obj));
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _efl_ui_image_sizing_eval(obj);
 
diff --git a/src/lib/elementary/efl_ui_image_zoomable.c 
b/src/lib/elementary/efl_ui_image_zoomable.c
index 21d3d6fc31..51506f5e5f 100644
--- a/src/lib/elementary/efl_ui_image_zoomable.c
+++ b/src/lib/elementary/efl_ui_image_zoomable.c
@@ -920,17 +920,17 @@ 
_efl_ui_image_zoomable_efl_ui_focus_object_on_focus_update(Eo *obj, Efl_Ui_Image
    return EINA_TRUE;
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_image_zoomable_efl_ui_widget_theme_apply(Eo *obj, 
Efl_Ui_Image_Zoomable_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    Eina_Bool fdo = EINA_FALSE;
 
    if (sd->stdicon)
      _internal_efl_ui_image_zoomable_icon_set(obj, sd->stdicon, &fdo, 
EINA_TRUE);
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    efl_ui_mirrored_set(sd->smanager, efl_ui_mirrored_get(obj));
 
diff --git a/src/lib/elementary/efl_ui_layout.c 
b/src/lib/elementary/efl_ui_layout.c
index 17260f44b2..3e9001679c 100644
--- a/src/lib/elementary/efl_ui_layout.c
+++ b/src/lib/elementary/efl_ui_layout.c
@@ -445,12 +445,12 @@ _efl_ui_layout_base_efl_ui_widget_disabled_set(Eo *obj, 
Efl_Ui_Layout_Data *_pd
    _flush_mirrored_state(obj);
 }
 
-static Efl_Ui_Theme_Apply_Result
+static Efl_Ui_Theme_Apply_Error
 _efl_ui_layout_theme_internal(Eo *obj, Efl_Ui_Layout_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
 
    /* function already prints error messages, if any */
    if (!sd->file_set)
@@ -462,22 +462,22 @@ _efl_ui_layout_theme_internal(Eo *obj, Efl_Ui_Layout_Data 
*sd)
                 elm_widget_theme_style_get(obj));
      }
 
-   if (ret)
+   if (ret != EFL_UI_THEME_APPLY_ERROR_GENERIC)
      efl_event_callback_legacy_call(obj, EFL_UI_LAYOUT_EVENT_THEME_CHANGED, 
NULL);
 
    if (!_visuals_refresh(obj, sd))
-     ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+     ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    return ret;
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_layout_base_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Layout_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result theme_apply_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error theme_apply_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    theme_apply_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!theme_apply_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (theme_apply_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return 
EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    theme_apply_ret &= _efl_ui_layout_theme_internal(obj, sd);
    return theme_apply_ret;
@@ -920,7 +920,7 @@ _efl_ui_layout_base_theme_get(const Eo *obj, 
Efl_Ui_Layout_Data *sd EINA_UNUSED,
    if (style) *style = elm_widget_theme_style_get(obj);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_layout_base_theme_set(Eo *obj, Efl_Ui_Layout_Data *sd, const char 
*klass, const char *group, const char *style)
 {
    Eina_Bool changed = EINA_FALSE;
@@ -928,7 +928,7 @@ _efl_ui_layout_base_theme_set(Eo *obj, Efl_Ui_Layout_Data 
*sd, const char *klass
    if (!elm_widget_is_legacy(obj) && efl_finalized_get(obj))
      {
         ERR("Efl.Ui.Layout_theme can only be set before finalize!");
-        return EFL_UI_THEME_APPLY_RESULT_FAIL;
+        return EFL_UI_THEME_APPLY_ERROR_GENERIC;
      }
 
    if (sd->file_set) sd->file_set = EINA_FALSE;
@@ -939,7 +939,7 @@ _efl_ui_layout_base_theme_set(Eo *obj, Efl_Ui_Layout_Data 
*sd, const char *klass
 
    if (changed)
      return efl_ui_widget_theme_apply(obj);
-   return EFL_UI_THEME_APPLY_RESULT_SUCCESS;
+   return EFL_UI_THEME_APPLY_ERROR_NONE;
 }
 
 EOLIAN static void
@@ -2944,10 +2944,10 @@ elm_layout_data_get(const Evas_Object *obj, const char 
*key)
 EAPI Eina_Bool
 elm_layout_theme_set(Evas_Object *obj, const char *klass, const char *group, 
const char *style)
 {
-   Efl_Ui_Theme_Apply_Result theme_apply_ret;
+   Efl_Ui_Theme_Apply_Error theme_apply_ret;
 
    theme_apply_ret = efl_ui_layout_theme_set(obj, klass, group, style);
-   return (theme_apply_ret != EFL_UI_THEME_APPLY_RESULT_FAIL);
+   return (theme_apply_ret != EFL_UI_THEME_APPLY_ERROR_GENERIC);
 }
 
 #include "efl_ui_layout_legacy.eo.c"
diff --git a/src/lib/elementary/efl_ui_layout_base.eo 
b/src/lib/elementary/efl_ui_layout_base.eo
index 5525aa025c..e63d7dc999 100644
--- a/src/lib/elementary/efl_ui_layout_base.eo
+++ b/src/lib/elementary/efl_ui_layout_base.eo
@@ -30,9 +30,9 @@ abstract @beta Efl.Ui.Layout_Base extends Efl.Ui.Widget 
implements Efl.Container
               If this returns $false the widget is very likely to become
               non-functioning.
             ]]
-            return: Efl.Ui.Theme_Apply_Result(0);
+            return: Efl.Ui.Theme_Apply_Error(2);
                [[Whether the style was successfully applied or not, see
-                 the values of @Efl.Ui.Theme_Apply_Result for more 
information.]]
+                 the values of @Efl.Ui.Theme_Apply_Error for more 
information.]]
          }
          get {
             [[Get information about the current theme in use.]]
diff --git a/src/lib/elementary/efl_ui_list.c b/src/lib/elementary/efl_ui_list.c
index 148e8f4d92..f27beb0d14 100644
--- a/src/lib/elementary/efl_ui_list.c
+++ b/src/lib/elementary/efl_ui_list.c
@@ -426,8 +426,8 @@ _efl_ui_list_efl_object_finalize(Eo *obj,
 
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
 
-   Efl_Ui_Theme_Apply_Result theme_apply_ret = efl_ui_layout_theme_set(obj, 
"list", "base", efl_ui_widget_style_get(obj));
-   if (theme_apply_ret == EFL_UI_THEME_APPLY_RESULT_FAIL)
+   Efl_Ui_Theme_Apply_Error theme_apply_ret = efl_ui_layout_theme_set(obj, 
"list", "base", efl_ui_widget_style_get(obj));
+   if (theme_apply_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("list(%p) failed to set theme [efl/list:%s]!", obj, 
efl_ui_widget_style_get(obj) ?: "NULL");
 
    pd->smanager = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj);
@@ -599,12 +599,12 @@ _efl_ui_list_efl_container_content_iterate(Eo *obj 
EINA_UNUSED, Efl_Ui_List_Data
    }
  */
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_list_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_List_Data *pd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    efl_ui_mirrored_set(pd->smanager, efl_ui_mirrored_get(obj));
 
diff --git a/src/lib/elementary/efl_ui_list_default_item.c 
b/src/lib/elementary/efl_ui_list_default_item.c
index 98138b1d8b..2021d84ae5 100644
--- a/src/lib/elementary/efl_ui_list_default_item.c
+++ b/src/lib/elementary/efl_ui_list_default_item.c
@@ -23,9 +23,9 @@ _efl_ui_list_default_item_efl_object_finalize(Eo *obj, void 
*pd EINA_UNUSED)
    Eo *eo;
    eo = efl_finalize(efl_super(obj, MY_CLASS));
    ELM_WIDGET_DATA_GET_OR_RETURN(eo, wd, eo);
-   Efl_Ui_Theme_Apply_Result theme_apply_ret = efl_ui_layout_theme_set(obj, 
"list_item", NULL, NULL);
+   Efl_Ui_Theme_Apply_Error theme_apply_ret = efl_ui_layout_theme_set(obj, 
"list_item", NULL, NULL);
 
-   if (theme_apply_ret == EFL_UI_THEME_APPLY_RESULT_FAIL)
+   if (theme_apply_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Default Item(%p) failed to set theme [efl/list_item]!", eo);
    return eo;
 }
diff --git a/src/lib/elementary/efl_ui_list_empty_item.c 
b/src/lib/elementary/efl_ui_list_empty_item.c
index 33259505ac..168be2db96 100644
--- a/src/lib/elementary/efl_ui_list_empty_item.c
+++ b/src/lib/elementary/efl_ui_list_empty_item.c
@@ -21,9 +21,9 @@ _efl_ui_list_empty_item_efl_object_finalize(Eo *obj, void *pd 
EINA_UNUSED)
    Eo *eo;
    eo = efl_finalize(efl_super(obj, MY_CLASS));
    ELM_WIDGET_DATA_GET_OR_RETURN(eo, wd, eo);
-   Efl_Ui_Theme_Apply_Result theme_apply_ret = efl_ui_layout_theme_set(obj, 
"list_item", NULL, "empty");
+   Efl_Ui_Theme_Apply_Error theme_apply_ret = efl_ui_layout_theme_set(obj, 
"list_item", NULL, "empty");
 
-   if (theme_apply_ret == EFL_UI_THEME_APPLY_RESULT_FAIL)
+   if (theme_apply_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Empty Item(%p) failed to set theme [efl/list_item:empty]!", eo);
    return eo;
 }
diff --git a/src/lib/elementary/efl_ui_navigation_bar.c 
b/src/lib/elementary/efl_ui_navigation_bar.c
index 035d922494..e8102ba2cf 100644
--- a/src/lib/elementary/efl_ui_navigation_bar.c
+++ b/src/lib/elementary/efl_ui_navigation_bar.c
@@ -42,10 +42,10 @@ _efl_ui_navigation_bar_efl_object_constructor(Eo *obj, 
Efl_Ui_Navigation_Bar_Dat
    elm_widget_sub_object_parent_add(obj);
 
    elm_widget_can_focus_set(obj, EINA_TRUE);
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
-                                    elm_widget_theme_klass_get(obj),
-                                    elm_widget_theme_element_get(obj),
-                                    elm_widget_theme_style_get(obj)))
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
+                                       elm_widget_theme_klass_get(obj),
+                                       elm_widget_theme_element_get(obj),
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    Eo *back_button = efl_add(EFL_UI_BUTTON_CLASS, obj,
diff --git a/src/lib/elementary/efl_ui_navigation_layout.c 
b/src/lib/elementary/efl_ui_navigation_layout.c
index 16bcea2462..0b5988450e 100644
--- a/src/lib/elementary/efl_ui_navigation_layout.c
+++ b/src/lib/elementary/efl_ui_navigation_layout.c
@@ -40,10 +40,10 @@ _efl_ui_navigation_layout_efl_object_constructor(Eo *obj, 
Efl_Ui_Navigation_Layo
    elm_widget_sub_object_parent_add(obj);
 
    elm_widget_can_focus_set(obj, EINA_TRUE);
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
-                                    elm_widget_theme_klass_get(obj),
-                                    elm_widget_theme_element_get(obj),
-                                    elm_widget_theme_style_get(obj)))
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
+                                       elm_widget_theme_klass_get(obj),
+                                       elm_widget_theme_element_get(obj),
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    return obj;
diff --git a/src/lib/elementary/efl_ui_nstate.c 
b/src/lib/elementary/efl_ui_nstate.c
index 8a16d25830..341f2b351b 100644
--- a/src/lib/elementary/efl_ui_nstate.c
+++ b/src/lib/elementary/efl_ui_nstate.c
@@ -116,13 +116,13 @@ _efl_ui_nstate_value_set(Eo *obj, Efl_Ui_Nstate_Data *pd, 
int state)
    _state_active(obj, pd);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_nstate_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Nstate_Data *pd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _state_signal_emit(obj, pd);
 
diff --git a/src/lib/elementary/efl_ui_pager.c 
b/src/lib/elementary/efl_ui_pager.c
index cacdac5c4b..b8ceb97bca 100644
--- a/src/lib/elementary/efl_ui_pager.c
+++ b/src/lib/elementary/efl_ui_pager.c
@@ -328,10 +328,10 @@ _efl_ui_pager_efl_object_constructor(Eo *obj,
 
    obj = efl_constructor(efl_super(obj, MY_CLASS));
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
-                                    elm_widget_theme_klass_get(obj),
-                                    elm_widget_theme_element_get(obj),
-                                    elm_widget_theme_style_get(obj)))
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
+                                       elm_widget_theme_klass_get(obj),
+                                       elm_widget_theme_element_get(obj),
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    elm_widget_sub_object_parent_add(obj);
diff --git a/src/lib/elementary/efl_ui_panel.c 
b/src/lib/elementary/efl_ui_panel.c
index 285cebf6b0..48f854cb98 100644
--- a/src/lib/elementary/efl_ui_panel.c
+++ b/src/lib/elementary/efl_ui_panel.c
@@ -198,18 +198,18 @@ _scrollable_layout_theme_set(Eo *obj, Efl_Ui_Panel_Data 
*sd)
      _access_obj_process(obj, EINA_TRUE);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_panel_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Panel_Data *sd)
 {
    const char *str;
    Evas_Coord minw = 0, minh = 0;
 
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _mirrored_set(obj, efl_ui_mirrored_get(obj));
 
diff --git a/src/lib/elementary/efl_ui_panes.c 
b/src/lib/elementary/efl_ui_panes.c
index 285a6eb22c..d7a13b414d 100644
--- a/src/lib/elementary/efl_ui_panes.c
+++ b/src/lib/elementary/efl_ui_panes.c
@@ -110,14 +110,14 @@ _efl_ui_panes_theme_group_get(Evas_Object *obj, 
Efl_Ui_Panes_Data *sd)
    return eina_strbuf_release(new_group);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_panes_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Panes_Data *sd)
 {
    double size;
    Evas_Coord minw = 0, minh = 0;
    char *group;
 
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    group = _efl_ui_panes_theme_group_get(obj, sd);
    if (group)
@@ -131,7 +131,7 @@ _efl_ui_panes_efl_ui_widget_theme_apply(Eo *obj, 
Efl_Ui_Panes_Data *sd)
    evas_object_size_hint_min_set(sd->event, minw, minh);
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    size = elm_panes_content_left_size_get(obj);
 
@@ -411,10 +411,10 @@ _efl_ui_panes_efl_canvas_group_group_add(Eo *obj, 
Efl_Ui_Panes_Data *_pd EINA_UN
    elm_widget_sub_object_parent_add(obj);
 
    group = _efl_ui_panes_theme_group_get(obj, sd);
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
                                        elm_widget_theme_klass_get(obj),
                                        group,
-                                       elm_widget_theme_style_get(obj)))
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    free(group);
diff --git a/src/lib/elementary/efl_ui_popup.c 
b/src/lib/elementary/efl_ui_popup.c
index f48e3040cc..cc8772d8d2 100644
--- a/src/lib/elementary/efl_ui_popup.c
+++ b/src/lib/elementary/efl_ui_popup.c
@@ -218,10 +218,10 @@ _efl_ui_popup_efl_object_constructor(Eo *obj, 
Efl_Ui_Popup_Data *pd)
    elm_widget_sub_object_parent_add(obj);
 
    elm_widget_can_focus_set(obj, EINA_TRUE);
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
                                        elm_widget_theme_klass_get(obj),
                                        elm_widget_theme_element_get(obj),
-                                       elm_widget_theme_style_get(obj)))
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    pd->backwall = edje_object_add(evas_object_evas_get(obj));
diff --git a/src/lib/elementary/efl_ui_progressbar.c 
b/src/lib/elementary/efl_ui_progressbar.c
index ccaaf7e8ed..ecd6cc7a86 100644
--- a/src/lib/elementary/efl_ui_progressbar.c
+++ b/src/lib/elementary/efl_ui_progressbar.c
@@ -232,11 +232,11 @@ _efl_ui_progressbar_theme_group_get(Evas_Object *obj, 
Efl_Ui_Progressbar_Data *s
    return eina_strbuf_release(new_group);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_progressbar_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Progressbar_Data 
*sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
    char *group;
 
    group = _efl_ui_progressbar_theme_group_get(obj, sd);
@@ -247,7 +247,7 @@ _efl_ui_progressbar_efl_ui_widget_theme_apply(Eo *obj, 
Efl_Ui_Progressbar_Data *
      }
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    if (elm_widget_is_legacy(obj))
      {
@@ -366,11 +366,10 @@ _efl_ui_progressbar_efl_canvas_group_group_add(Eo *obj, 
Efl_Ui_Progressbar_Data
    priv->val_max = 1.0;
    group = _efl_ui_progressbar_theme_group_get(obj, priv);
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
-                                    elm_widget_theme_klass_get(obj),
-                                    group,
-                                    elm_widget_theme_style_get(obj)))
-     CRI("Failed to set layout!");
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
+                                       elm_widget_theme_klass_get(obj),
+                                       group,
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
 
    free(group);
 
@@ -820,13 +819,13 @@ _icon_signal_emit(Evas_Object *obj)
 /* FIXME: replicated from elm_layout just because progressbar's icon spot
  * is elm.swallow.content, not elm.swallow.icon. Fix that whenever we
  * can changed the theme API */
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_progressbar_legacy_efl_ui_widget_theme_apply(Eo *obj, void *_pd 
EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, 
EFL_UI_PROGRESSBAR_LEGACY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
    _icon_signal_emit(obj);
 
    return int_ret;
diff --git a/src/lib/elementary/efl_ui_radio.c 
b/src/lib/elementary/efl_ui_radio.c
index 009ca7183b..cdb6678ae0 100644
--- a/src/lib/elementary/efl_ui_radio.c
+++ b/src/lib/elementary/efl_ui_radio.c
@@ -147,13 +147,13 @@ _key_action_activate(Evas_Object *obj, const char *params 
EINA_UNUSED)
    return EINA_TRUE;
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_radio_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Radio_Data *sd)
 {
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, EFL_UI_CHECK_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    if (elm_widget_is_legacy(obj))
      {
@@ -414,12 +414,12 @@ _icon_signal_emit(Evas_Object *obj)
    elm_layout_sizing_eval(obj);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_radio_legacy_efl_ui_widget_theme_apply(Eo *obj, void *_pd EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, 
EFL_UI_RADIO_LEGACY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    /* FIXME: replicated from elm_layout just because radio's icon
     * spot is elm.swallow.content, not elm.swallow.icon. Fix that
diff --git a/src/lib/elementary/efl_ui_scroller.c 
b/src/lib/elementary/efl_ui_scroller.c
index 52af40be49..72d1786291 100644
--- a/src/lib/elementary/efl_ui_scroller.c
+++ b/src/lib/elementary/efl_ui_scroller.c
@@ -678,12 +678,12 @@ _efl_ui_scroller_elm_layout_sizing_eval(Eo *obj, 
Efl_Ui_Scroller_Data *sd)
    efl_gfx_hint_size_min_set(obj, size);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_scroller_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Scroller_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    efl_ui_mirrored_set(sd->smanager, efl_ui_mirrored_get(obj));
 
diff --git a/src/lib/elementary/efl_ui_slider.c 
b/src/lib/elementary/efl_ui_slider.c
index e0953a18c5..fbb11ed669 100644
--- a/src/lib/elementary/efl_ui_slider.c
+++ b/src/lib/elementary/efl_ui_slider.c
@@ -423,11 +423,11 @@ _efl_ui_slider_theme_group_get(Evas_Object *obj, 
Efl_Ui_Slider_Data *sd)
    return eina_strbuf_release(new_group);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_slider_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Slider_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
    char *group;
 
    group = _efl_ui_slider_theme_group_get(obj, sd);
@@ -438,7 +438,7 @@ _efl_ui_slider_efl_ui_widget_theme_apply(Eo *obj, 
Efl_Ui_Slider_Data *sd)
      }
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    if (elm_widget_is_legacy(obj))
      {
@@ -640,10 +640,10 @@ _efl_ui_slider_efl_object_constructor(Eo *obj, 
Efl_Ui_Slider_Data *priv)
    elm_widget_sub_object_parent_add(obj);
 
    group = _efl_ui_slider_theme_group_get(obj, priv);
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
-                                    elm_widget_theme_klass_get(obj),
-                                    group,
-                                    elm_widget_theme_style_get(obj)))
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
+                                       elm_widget_theme_klass_get(obj),
+                                       group,
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    free(group);
diff --git a/src/lib/elementary/efl_ui_spin.c b/src/lib/elementary/efl_ui_spin.c
index a3b345ebf2..9f85d87af4 100644
--- a/src/lib/elementary/efl_ui_spin.c
+++ b/src/lib/elementary/efl_ui_spin.c
@@ -245,10 +245,10 @@ _efl_ui_spin_efl_object_constructor(Eo *obj, 
Efl_Ui_Spin_Data *sd)
    sd->step = 1.0;
    sd->special_values = eina_array_new(sizeof(Efl_Ui_Spin_Special_Value));
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
-                                    elm_widget_theme_klass_get(obj),
-                                    elm_widget_theme_element_get(obj),
-                                    elm_widget_theme_style_get(obj)))
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
+                                       elm_widget_theme_klass_get(obj),
+                                       elm_widget_theme_element_get(obj),
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    _label_write(obj);
diff --git a/src/lib/elementary/efl_ui_spin_button.c 
b/src/lib/elementary/efl_ui_spin_button.c
index 3442de978e..8a26509d65 100644
--- a/src/lib/elementary/efl_ui_spin_button.c
+++ b/src/lib/elementary/efl_ui_spin_button.c
@@ -788,10 +788,10 @@ _efl_ui_spin_button_theme_group_get(Evas_Object *obj, 
Efl_Ui_Spin_Button_Data *s
 }
 
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_spin_button_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Spin_Button_Data 
*sd EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    char *group;
 
    group = _efl_ui_spin_button_theme_group_get(obj, sd);
@@ -802,7 +802,7 @@ _efl_ui_spin_button_efl_ui_widget_theme_apply(Eo *obj, 
Efl_Ui_Spin_Button_Data *
      }
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    if (sd->ent)
      elm_widget_element_update(obj, sd->ent, PART_NAME_ENTRY);
@@ -821,7 +821,7 @@ _efl_ui_spin_button_efl_ui_widget_theme_apply(Eo *obj, 
Efl_Ui_Spin_Button_Data *
 
    _label_write(obj);
    elm_layout_sizing_eval(obj);
-   return EFL_UI_THEME_APPLY_RESULT_SUCCESS;
+   return EFL_UI_THEME_APPLY_ERROR_NONE;
 }
 
 EOLIAN static Eo *
@@ -836,12 +836,13 @@ _efl_ui_spin_button_efl_object_constructor(Eo *obj, 
Efl_Ui_Spin_Button_Data *sd)
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
 
    group = _efl_ui_spin_button_theme_group_get(obj, sd);
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
-                                    elm_widget_theme_klass_get(obj),
-                                    group,
-                                    elm_widget_theme_style_get(obj)))
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
+                                       elm_widget_theme_klass_get(obj),
+                                       group,
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
+
    free(group);
 
    sd->first_interval = 0.85;
diff --git a/src/lib/elementary/efl_ui_tab_bar.c 
b/src/lib/elementary/efl_ui_tab_bar.c
index 6f49b4026d..9d1a0f6895 100644
--- a/src/lib/elementary/efl_ui_tab_bar.c
+++ b/src/lib/elementary/efl_ui_tab_bar.c
@@ -213,7 +213,7 @@ _tab_add(Eo *obj, const char *label, const char *icon)
 {
    Eo *tab, *icon_obj;
    Tab_Info *ti;
-   Efl_Ui_Theme_Apply_Result theme_apply;
+   Efl_Ui_Theme_Apply_Error theme_apply;
 
    ti = calloc(1, sizeof(*ti));
 
@@ -243,7 +243,7 @@ _tab_add(Eo *obj, const char *label, const char *icon)
 
    theme_apply = elm_widget_element_update(obj, tab, PART_NAME_TAB);
 
-   if (theme_apply == EFL_UI_THEME_APPLY_RESULT_FAIL)
+   if (theme_apply == EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    efl_layout_signal_callback_add
@@ -370,12 +370,13 @@ _efl_ui_tab_bar_efl_object_constructor(Eo *obj, 
Efl_Ui_Tab_Bar_Data *sd)
 
    obj = efl_constructor(efl_super(obj, MY_CLASS));
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
-                                    elm_widget_theme_klass_get(obj),
-                                    elm_widget_theme_element_get(obj),
-                                    elm_widget_theme_style_get(obj)))
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
+                                       elm_widget_theme_klass_get(obj),
+                                       elm_widget_theme_element_get(obj),
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
+
    elm_widget_sub_object_parent_add(obj);
 
    sd->dir = EFL_UI_DIR_HORIZONTAL;
diff --git a/src/lib/elementary/efl_ui_tab_page.c 
b/src/lib/elementary/efl_ui_tab_page.c
index 8023115c3d..1f7fc2ff89 100644
--- a/src/lib/elementary/efl_ui_tab_page.c
+++ b/src/lib/elementary/efl_ui_tab_page.c
@@ -49,12 +49,13 @@ _efl_ui_tab_page_efl_object_constructor(Eo *obj, 
Efl_Ui_Tab_Page_Data *sd)
 
    obj = efl_constructor(efl_super(obj, MY_CLASS));
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
-                                    elm_widget_theme_klass_get(obj),
-                                    elm_widget_theme_element_get(obj),
-                                    elm_widget_theme_style_get(obj)))
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
+                                       elm_widget_theme_klass_get(obj),
+                                       elm_widget_theme_element_get(obj),
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
+
    elm_widget_sub_object_parent_add(obj);
 
    efl_ui_widget_focus_allow_set(obj, EINA_TRUE);
diff --git a/src/lib/elementary/efl_ui_table.c 
b/src/lib/elementary/efl_ui_table.c
index 541fb7fe16..197a69e4d3 100644
--- a/src/lib/elementary/efl_ui_table.c
+++ b/src/lib/elementary/efl_ui_table.c
@@ -28,12 +28,12 @@ _mirrored_set(Evas_Object *obj, Eina_Bool rtl)
    evas_object_table_mirrored_set(wd->resize_obj, rtl);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_table_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Table_Data *pd 
EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _mirrored_set(obj, efl_ui_mirrored_get(obj));
 
diff --git a/src/lib/elementary/efl_ui_tags.c b/src/lib/elementary/efl_ui_tags.c
index acf61535f1..8714c34f96 100644
--- a/src/lib/elementary/efl_ui_tags.c
+++ b/src/lib/elementary/efl_ui_tags.c
@@ -403,7 +403,7 @@ _item_new(Efl_Ui_Tags_Data *sd,
 
    layout = efl_add(EFL_UI_LAYOUT_CLASS, obj);
 
-   if (!elm_widget_element_update(obj, layout, PART_NAME_BUTTON))
+   if (elm_widget_element_update(obj, layout, PART_NAME_BUTTON) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    efl_text_set(efl_part(layout, "efl.btn.text"), str);
@@ -1011,10 +1011,10 @@ _efl_ui_tags_efl_object_constructor(Eo *obj, 
Efl_Ui_Tags_Data *sd)
    obj = efl_constructor(efl_super(obj, MY_CLASS));
    elm_widget_sub_object_parent_add(obj);
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
                                        elm_widget_theme_klass_get(obj),
                                        elm_widget_theme_element_get(obj),
-                                       elm_widget_theme_style_get(obj)))
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    elm_widget_can_focus_set(obj, EINA_FALSE);
diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c
index b079bf2e5b..aed0c99e04 100644
--- a/src/lib/elementary/efl_ui_text.c
+++ b/src/lib/elementary/efl_ui_text.c
@@ -733,17 +733,17 @@ _efl_ui_text_efl_ui_widget_disabled_set(Eo *obj, 
Efl_Ui_Text_Data *sd, Eina_Bool
 
 /* we can't issue the layout's theming code here, cause it assumes an
  * unique edje object, always */
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_text_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Text_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result theme_apply;
+   Efl_Ui_Theme_Apply_Error theme_apply;
 
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
 
    // Note: We are skipping elm_layout here! This is by design.
    // This assumes the following inheritance: my_class -> layout -> widget ...
    theme_apply = efl_ui_widget_theme_apply(efl_cast(obj, EFL_UI_WIDGET_CLASS));
-   if (!theme_apply) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (theme_apply == EFL_UI_THEME_APPLY_ERROR_GENERIC) return 
EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    efl_event_freeze(obj);
 
@@ -2165,11 +2165,11 @@ _efl_ui_text_efl_object_finalize(Eo *obj,
                        _dnd_pos_cb, NULL,
                        _dnd_drop_cb, NULL);
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
                                        elm_widget_theme_klass_get(obj),
                                        elm_widget_theme_element_get(obj),
-                                       elm_widget_theme_style_get(obj)))
-     CRI("Failed tp set layout!");
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
+     CRI("Failed to set layout!");
 
    efl_access_object_role_set(obj, EFL_ACCESS_ROLE_ENTRY);
    efl_event_callback_add(obj, EFL_EVENT_CALLBACK_ADD, _cb_added, NULL);
diff --git a/src/lib/elementary/efl_ui_text_factory_emoticons.c 
b/src/lib/elementary/efl_ui_text_factory_emoticons.c
index 97b93b5028..f66c99dd2f 100644
--- a/src/lib/elementary/efl_ui_text_factory_emoticons.c
+++ b/src/lib/elementary/efl_ui_text_factory_emoticons.c
@@ -24,7 +24,7 @@ EOLIAN static Efl_Canvas_Object
    Eo *o;
 
    o = efl_add(EFL_CANVAS_LAYOUT_CLASS, object);
-   if (!elm_widget_element_update(object, o, key))
+   if (elm_widget_element_update(object, o, key) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      {
         elm_widget_element_update(object, o, "wtf");
      }
diff --git a/src/lib/elementary/efl_ui_textpath.c 
b/src/lib/elementary/efl_ui_textpath.c
index 59b85480bf..1c39f11915 100644
--- a/src/lib/elementary/efl_ui_textpath.c
+++ b/src/lib/elementary/efl_ui_textpath.c
@@ -653,13 +653,13 @@ _efl_ui_textpath_efl_text_text_get(const Eo *obj 
EINA_UNUSED, Efl_Ui_Textpath_Da
    return edje_object_part_text_get(pd->text_obj, "efl.text");
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_textpath_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Textpath_Data *pd)
 {
-   Efl_Ui_Theme_Apply_Result ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return 
EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    elm_widget_theme_object_set(obj, pd->text_obj, "textpath", "base",
                                elm_widget_style_get(obj));
diff --git a/src/lib/elementary/efl_ui_timepicker.c 
b/src/lib/elementary/efl_ui_timepicker.c
index dac4170bc2..a77238bafa 100644
--- a/src/lib/elementary/efl_ui_timepicker.c
+++ b/src/lib/elementary/efl_ui_timepicker.c
@@ -218,10 +218,10 @@ _efl_ui_timepicker_efl_object_constructor(Eo *obj, 
Efl_Ui_Timepicker_Data *pd EI
      elm_widget_theme_klass_set(obj, "timepicker");
    obj = efl_constructor(efl_super(obj, MY_CLASS));
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
-                                    elm_widget_theme_klass_get(obj),
-                                    elm_widget_theme_element_get(obj),
-                                    elm_widget_theme_style_get(obj)))
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
+                                       elm_widget_theme_klass_get(obj),
+                                       elm_widget_theme_element_get(obj),
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    _fields_init(obj);
diff --git a/src/lib/elementary/efl_ui_video.c 
b/src/lib/elementary/efl_ui_video.c
index ec9bce6a2c..a732e315e8 100644
--- a/src/lib/elementary/efl_ui_video.c
+++ b/src/lib/elementary/efl_ui_video.c
@@ -249,10 +249,10 @@ _efl_ui_video_efl_canvas_group_group_add(Eo *obj, 
Efl_Ui_Video_Data *priv)
    if (!emotion_object_init(priv->emotion, NULL))
      CRI("Failed to init emotion object");
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
                                        elm_widget_theme_klass_get(obj),
                                        elm_widget_theme_element_get(obj),
-                                       elm_widget_theme_style_get(obj)))
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    if (elm_widget_is_legacy(obj))
diff --git a/src/lib/elementary/efl_ui_widget.c 
b/src/lib/elementary/efl_ui_widget.c
index 0d9114c6f9..cddeb68c63 100644
--- a/src/lib/elementary/efl_ui_widget.c
+++ b/src/lib/elementary/efl_ui_widget.c
@@ -1192,31 +1192,63 @@ _efl_ui_widget_on_access_update(Eo *obj EINA_UNUSED, 
Elm_Widget_Smart_Data *_pd
 {
 }
 
-EAPI Efl_Ui_Theme_Apply_Result
+EAPI Efl_Ui_Theme_Apply_Error
 elm_widget_theme(Evas_Object *obj)
 {
    const Eina_List *l;
    Evas_Object *child;
    Elm_Tooltip *tt;
    Elm_Cursor *cur;
-   Efl_Ui_Theme_Apply_Result ret = EFL_UI_THEME_APPLY_RESULT_SUCCESS;
+   Eina_Bool err_default = EINA_FALSE;
+   Eina_Bool err_generic = EINA_FALSE;
 
-   API_ENTRY return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   API_ENTRY return EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    EINA_LIST_FOREACH(sd->subobjs, l, child)
      if (_elm_widget_is(child))
-       ret &= elm_widget_theme(child);
+       {
+          switch (elm_widget_theme(child))
+            {
+             case EFL_UI_THEME_APPLY_ERROR_DEFAULT:
+               err_default = EINA_TRUE;
+               break;
+             case EFL_UI_THEME_APPLY_ERROR_GENERIC:
+               err_generic = EINA_TRUE;
+               break;
+             default: break;
+            }
+       }
 
-   if (sd->hover_obj) ret &= elm_widget_theme(sd->hover_obj);
+   if (sd->hover_obj)
+     switch (elm_widget_theme(sd->hover_obj))
+       {
+        case EFL_UI_THEME_APPLY_ERROR_DEFAULT:
+          err_default = EINA_TRUE;
+          break;
+        case EFL_UI_THEME_APPLY_ERROR_GENERIC:
+          err_generic = EINA_TRUE;
+          break;
+        default: break;
+       }
 
    EINA_LIST_FOREACH(sd->tooltips, l, tt)
      elm_tooltip_theme(tt);
    EINA_LIST_FOREACH(sd->cursors, l, cur)
      elm_cursor_theme(cur);
 
-   ret &= efl_ui_widget_theme_apply(obj);
-
-   return ret;
+   switch (efl_ui_widget_theme_apply(obj))
+     {
+      case EFL_UI_THEME_APPLY_ERROR_DEFAULT:
+        err_default = EINA_TRUE;
+        break;
+      case EFL_UI_THEME_APPLY_ERROR_GENERIC:
+        err_generic = EINA_TRUE;
+        break;
+      default: break;
+     }
+   if (err_generic) return EFL_UI_THEME_APPLY_ERROR_GENERIC;
+   if (err_default) return EFL_UI_THEME_APPLY_ERROR_DEFAULT;
+   return EFL_UI_THEME_APPLY_ERROR_NONE;
 }
 
 EAPI void
@@ -1264,12 +1296,12 @@ elm_widget_theme_specific(Evas_Object *obj,
    efl_ui_widget_theme_apply(obj);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_widget_theme_apply(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED)
 {
    _elm_widget_mirrored_reload(obj);
 
-   return EFL_UI_THEME_APPLY_RESULT_SUCCESS;
+   return EFL_UI_THEME_APPLY_ERROR_NONE;
 }
 
 /**
@@ -2795,19 +2827,19 @@ elm_widget_theme_get(const Evas_Object *obj)
    return sd->theme;
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_widget_style_set(Eo *obj, Elm_Widget_Smart_Data *sd, const char *style)
 {
    if (!elm_widget_is_legacy(obj) && efl_finalized_get(obj))
      {
         ERR("Efl.Ui.Widget.style can only be set before finalize!");
-        return EFL_UI_THEME_APPLY_RESULT_FAIL;
+        return EFL_UI_THEME_APPLY_ERROR_GENERIC;
      }
 
    if (eina_stringshare_replace(&sd->style, style))
       return elm_widget_theme(obj);
 
-   return EFL_UI_THEME_APPLY_RESULT_SUCCESS;
+   return EFL_UI_THEME_APPLY_ERROR_NONE;
 }
 
 EOLIAN static const char*
@@ -2906,23 +2938,17 @@ elm_widget_scroll_child_locked_y_get(const Eo *obj)
    return sd->child_drag_y_locked;
 }
 
-EAPI Efl_Ui_Theme_Apply_Result
+EAPI Efl_Ui_Theme_Apply_Error
 elm_widget_theme_object_set(Evas_Object *obj, Evas_Object *edj, const char 
*wname, const char *welement, const char *wstyle)
 {
    Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
-   if (!sd) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (!sd) return EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    if (eina_streq(welement, "base"))
      welement = NULL;
    if (eina_streq(wstyle, "default"))
      wstyle = NULL;
-   Efl_Ui_Theme_Apply_Result ret = _elm_theme_object_set(obj, edj, wname, 
welement, wstyle);
-   if (!ret)
-     {
-        return EFL_UI_THEME_APPLY_RESULT_FAIL;
-     }
-
-   return ret;
+   return _elm_theme_object_set(obj, edj, wname, welement, wstyle);
 }
 
 static void
@@ -3528,10 +3554,10 @@ elm_widget_theme_style_get(const Evas_Object *obj)
  * @param name An element name of sub object.
  * @return Whether the style was successfully applied or not.
  */
-EAPI Efl_Ui_Theme_Apply_Result
+EAPI Efl_Ui_Theme_Apply_Error
 elm_widget_element_update(Evas_Object *obj, Evas_Object *component, const char 
*name)
 {
-   Efl_Ui_Theme_Apply_Result ret = EFL_UI_THEME_APPLY_RESULT_SUCCESS;
+   Efl_Ui_Theme_Apply_Error ret = EFL_UI_THEME_APPLY_ERROR_NONE;
    Eina_Bool changed = EINA_FALSE;
    const char *obj_group;
    Eina_Stringshare *group;
diff --git a/src/lib/elementary/efl_ui_widget.eo 
b/src/lib/elementary/efl_ui_widget.eo
index 47ce812db9..35e0495cd7 100644
--- a/src/lib/elementary/efl_ui_widget.eo
+++ b/src/lib/elementary/efl_ui_widget.eo
@@ -144,9 +144,9 @@ abstract @beta Efl.Ui.Widget extends Efl.Canvas.Group 
implements Efl.Access.Obje
          ]]
          set @protected {
             [[Can only be called during construction, before finalize.]]
-            return: Efl.Ui.Theme_Apply_Result(0);
+            return: Efl.Ui.Theme_Apply_Error(2);
                [[Whether the style was successfully applied or not, see
-                 the values of @Efl.Ui.Theme_Apply_Result for more 
information.]]
+                 the values of @Efl.Ui.Theme_Apply_Error for more 
information.]]
          }
          get {
             [[Returns the current style of a widget.]]
@@ -325,7 +325,7 @@ abstract @beta Efl.Ui.Widget extends Efl.Canvas.Group 
implements Efl.Access.Obje
            Note: even widgets not based on layouts may override this method
            to handle widget updates (scale, mirrored mode, etc...).
          ]]
-         return: Efl.Ui.Theme_Apply_Result; [[Indicates success, and if the 
current
+         return: Efl.Ui.Theme_Apply_Error; [[Indicates success, and if the 
current
                                        theme or default theme was used.]]
       }
 
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 6e7ec7e6b3..786c0932ef 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -378,7 +378,7 @@ _elm_win_on_resize_obj_changed_size_hints(void *data,
                                           void *event_info);
 static void
 _elm_win_img_callbacks_del(Evas_Object *obj, Evas_Object *imgobj);
-static Efl_Ui_Theme_Apply_Result _elm_win_theme_internal(Eo *obj, 
Efl_Ui_Win_Data *sd);
+static Efl_Ui_Theme_Apply_Error _elm_win_theme_internal(Eo *obj, 
Efl_Ui_Win_Data *sd);
 static void _elm_win_frame_add(Efl_Ui_Win_Data *sd, const char *element, const 
char *style);
 static void _elm_win_frame_style_update(Efl_Ui_Win_Data *sd, Eina_Bool 
force_emit, Eina_Bool calc);
 static inline void _elm_win_need_frame_adjust(Efl_Ui_Win_Data *sd, const char 
*engine);
@@ -3285,7 +3285,7 @@ _elm_win_wl_cursor_set(Evas_Object *obj, const char 
*cursor)
 
         if (cursor)
           {
-             if (!elm_widget_theme_object_set(sd->obj, sd->pointer.obj,
+             if (elm_widget_theme_object_set(sd->obj, sd->pointer.obj,
                                         "cursor", cursor, "default"))
                {
                   elm_widget_theme_object_set(sd->obj, sd->pointer.obj,
@@ -4501,8 +4501,8 @@ _elm_win_frame_add(Efl_Ui_Win_Data *sd, const char 
*element, const char *style)
    v = version ? atoi(version) : 0;
    if (EINA_LIKELY(v >= FRAME_OBJ_THEME_MIN_VERSION))
      {
-        if (!elm_widget_theme_object_set
-            (sd->obj, sd->frame_obj, "border", element, style))
+        if (elm_widget_theme_object_set
+            (sd->obj, sd->frame_obj, "border", element, style) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
           {
              ERR("Failed to set main border theme for the window.");
              ELM_SAFE_FREE(sd->frame_obj, evas_object_del);
@@ -6959,16 +6959,16 @@ _efl_ui_win_focus_highlight_enabled_get(const Eo *obj 
EINA_UNUSED, Efl_Ui_Win_Da
    return sd->focus_highlight.enabled;
 }
 
-static Efl_Ui_Theme_Apply_Result
+static Efl_Ui_Theme_Apply_Error
 _elm_win_theme_internal(Eo *obj, Efl_Ui_Win_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    Eina_Bool prev_alpha;
    const char *s;
 
    int_ret = elm_widget_theme_object_set(obj, sd->legacy.edje, "win", "base",
                                        elm_widget_style_get(obj));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    edje_object_mirrored_set(sd->legacy.edje, efl_ui_mirrored_get(obj));
    edje_object_scale_set(sd->legacy.edje,
@@ -6985,17 +6985,17 @@ _elm_win_theme_internal(Eo *obj, Efl_Ui_Win_Data *sd)
    return int_ret;
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _efl_ui_win_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Win_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    sd->focus_highlight.theme_changed = EINA_TRUE;
 
    int_ret = _elm_win_theme_internal(obj, sd) & int_ret;
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
    _elm_win_focus_highlight_reconfigure_job_start(sd);
 
    return int_ret;
diff --git a/src/lib/elementary/elc_combobox.c 
b/src/lib/elementary/elc_combobox.c
index 2b231aa0c4..532f707b2c 100644
--- a/src/lib/elementary/elc_combobox.c
+++ b/src/lib/elementary/elc_combobox.c
@@ -79,15 +79,15 @@ _elm_combobox_efl_ui_l10n_translation_update(Eo *obj 
EINA_UNUSED, Elm_Combobox_D
      efl_ui_l10n_translation_update(sd->hover);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_combobox_efl_ui_widget_theme_apply(Eo *obj, Elm_Combobox_Data *sd)
 {
    const char *style;
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    Eina_Bool mirrored;
    char buf[128];
 
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
 
    style = eina_stringshare_add(elm_widget_style_get(obj));
 
@@ -97,7 +97,7 @@ _elm_combobox_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Combobox_Data *sd)
    eina_stringshare_replace(&(wd->style), buf);
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    eina_stringshare_replace(&(wd->style), style);
 
diff --git a/src/lib/elementary/elc_ctxpopup.c 
b/src/lib/elementary/elc_ctxpopup.c
index 1f6ed09737..11ee0f4c73 100644
--- a/src/lib/elementary/elc_ctxpopup.c
+++ b/src/lib/elementary/elc_ctxpopup.c
@@ -666,13 +666,13 @@ _on_content_resized(void *data,
 }
 
 //FIXME: lost the content size when theme hook is called.
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_ctxpopup_efl_ui_widget_theme_apply(Eo *obj, Elm_Ctxpopup_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    elm_widget_theme_object_set
      (obj, sd->bg, "ctxpopup", "bg", elm_widget_style_get(obj));
@@ -1044,7 +1044,7 @@ _elm_ctxpopup_efl_canvas_group_group_add(Eo *obj, 
Elm_Ctxpopup_Data *priv)
 
    //Background
    priv->bg = edje_object_add(evas_object_evas_get(obj));
-   if (!elm_widget_theme_object_set(obj, priv->bg, "ctxpopup", "bg", 
"default"))
+   if (elm_widget_theme_object_set(obj, priv->bg, "ctxpopup", "bg", "default"))
      CRI("ctxpopup(%p) failed to set theme [efl/ctxpopup/bg/default]!", obj);
 
    edje_object_signal_callback_add
diff --git a/src/lib/elementary/elc_fileselector.c 
b/src/lib/elementary/elc_fileselector.c
index 6dabb93164..41aa86b8bd 100644
--- a/src/lib/elementary/elc_fileselector.c
+++ b/src/lib/elementary/elc_fileselector.c
@@ -226,16 +226,16 @@ _model_str_property_set(Efl_Model *model, const char 
*property_name, const char
    return efl_model_property_set(model, property_name, 
eina_value_string_new(property_value));
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_fileselector_efl_ui_widget_theme_apply(Eo *obj, Elm_Fileselector_Data *sd)
 {
    const char *style;
    const char *data;
    char buf[1024];
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    style = elm_widget_style_get(obj);
    _mirrored_set(obj, efl_ui_mirrored_get(obj));
diff --git a/src/lib/elementary/elc_fileselector_button.c 
b/src/lib/elementary/elc_fileselector_button.c
index 6724a0e080..abbf8bd21b 100644
--- a/src/lib/elementary/elc_fileselector_button.c
+++ b/src/lib/elementary/elc_fileselector_button.c
@@ -38,15 +38,15 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = 
{
 };
 #undef ELM_PRIV_FILESELECTOR_BUTTON_SIGNALS
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_fileselector_button_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Fileselector_Button_Data *sd EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    char buf[4096];
    const char *style;
 
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
 
    style = eina_stringshare_add(elm_widget_style_get(obj));
 
@@ -56,7 +56,7 @@ _elm_fileselector_button_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Fileselector_But
    eina_stringshare_replace(&(wd->style), buf);
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    eina_stringshare_replace(&(wd->style), style);
 
diff --git a/src/lib/elementary/elc_fileselector_entry.c 
b/src/lib/elementary/elc_fileselector_entry.c
index 02b22fe103..c9ec1acd7f 100644
--- a/src/lib/elementary/elc_fileselector_entry.c
+++ b/src/lib/elementary/elc_fileselector_entry.c
@@ -127,17 +127,17 @@ _elm_fileselector_entry_elm_layout_sizing_eval(Eo *obj, 
Elm_Fileselector_Entry_D
    evas_object_size_hint_max_set(obj, -1, -1);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_fileselector_entry_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Fileselector_Entry_Data *sd)
 {
    const char *style;
    char buf[1024];
 
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
 
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    style = elm_widget_style_get(obj);
 
diff --git a/src/lib/elementary/elc_hoversel.c 
b/src/lib/elementary/elc_hoversel.c
index 07b251d1be..25df36a913 100644
--- a/src/lib/elementary/elc_hoversel.c
+++ b/src/lib/elementary/elc_hoversel.c
@@ -63,14 +63,14 @@ _elm_hoversel_efl_ui_l10n_translation_update(Eo *obj 
EINA_UNUSED, Elm_Hoversel_D
    efl_ui_l10n_translation_update(efl_super(obj, MY_CLASS));
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_hoversel_efl_ui_widget_theme_apply(Eo *obj, Elm_Hoversel_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    Eina_List *l;
    Elm_Object_Item *eo_item;
 
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
 
    char buf[4096];
    const char *style;
@@ -86,7 +86,7 @@ _elm_hoversel_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Hoversel_Data *sd)
    elm_widget_theme_style_set(obj, buf);
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    elm_widget_theme_style_set(obj, style);
 
diff --git a/src/lib/elementary/elc_multibuttonentry.c 
b/src/lib/elementary/elc_multibuttonentry.c
index 57d6126c0c..89b34def53 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -91,7 +91,7 @@ _format_count(int count, void *data EINA_UNUSED)
    return strdup(buf);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_multibuttonentry_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Multibuttonentry_Data *sd)
 {
    const char *str;
@@ -100,9 +100,9 @@ _elm_multibuttonentry_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Multibuttonentry_Da
    Elm_Object_Item *eo_item;
    double pad_scale;
 
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    str = elm_layout_data_get(obj, "horizontal_pad");
    if (str) hpad = atoi(str);
@@ -1564,10 +1564,10 @@ _elm_multibuttonentry_efl_canvas_group_group_add(Eo 
*obj, Elm_Multibuttonentry_D
    efl_canvas_group_add(efl_super(obj, MY_CLASS));
    elm_widget_sub_object_parent_add(obj);
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
                                        elm_widget_theme_klass_get(obj),
                                        elm_widget_theme_element_get(obj),
-                                       elm_widget_theme_style_get(obj)))
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    elm_widget_can_focus_set(obj, EINA_FALSE);
diff --git a/src/lib/elementary/elc_naviframe.c 
b/src/lib/elementary/elc_naviframe.c
index 23dca67780..40b97c2bcd 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -366,7 +366,7 @@ _item_title_enabled_update(Elm_Naviframe_Item_Data *nit, 
Eina_Bool transition)
    edje_object_message_signal_process(elm_layout_edje_get(VIEW(nit)));
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_naviframe_efl_ui_widget_theme_apply(Eo *obj, Elm_Naviframe_Data *sd)
 {
    Elm_Naviframe_Item_Data *it;
@@ -384,7 +384,7 @@ _elm_naviframe_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Naviframe_Data *sd)
      }
 
    elm_layout_sizing_eval(obj);
-   return EFL_UI_THEME_APPLY_RESULT_SUCCESS;
+   return EFL_UI_THEME_APPLY_ERROR_NONE;
 }
 
 static char *
diff --git a/src/lib/elementary/elc_player.c b/src/lib/elementary/elc_player.c
index 96a703ea1c..a28d92da6a 100644
--- a/src/lib/elementary/elc_player.c
+++ b/src/lib/elementary/elc_player.c
@@ -185,12 +185,12 @@ _update_theme_slider(Evas_Object *obj, Evas_Object *sl, 
const char *name, const
    elm_object_disabled_set(sl, elm_widget_disabled_get(obj));
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_player_efl_ui_widget_theme_apply(Eo *obj, Elm_Player_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _update_theme_button(obj, sd->forward, "forward");
    _update_theme_button(obj, sd->info, "info");
diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c
index 4806d5f152..6c934eeaa3 100644
--- a/src/lib/elementary/elc_popup.c
+++ b/src/lib/elementary/elc_popup.c
@@ -365,7 +365,7 @@ _populate_theme_scroll(Elm_Popup_Data *sd)
    sd->theme_scroll = EINA_FALSE;
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_popup_efl_ui_widget_theme_apply(Eo *obj, Elm_Popup_Data *sd)
 {
    Elm_Popup_Item_Data *it;
@@ -439,7 +439,7 @@ _elm_popup_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Popup_Data *sd)
    /* access */
    if (_elm_config->access_mode) _access_obj_process(obj, EINA_TRUE);
 
-   return EFL_UI_THEME_APPLY_RESULT_SUCCESS;
+   return EFL_UI_THEME_APPLY_ERROR_NONE;
 }
 
 static void
diff --git a/src/lib/elementary/elm_actionslider.c 
b/src/lib/elementary/elm_actionslider.c
index b9f295f76c..889e4adf8b 100644
--- a/src/lib/elementary/elm_actionslider.c
+++ b/src/lib/elementary/elm_actionslider.c
@@ -113,18 +113,18 @@ _mirroredness_change_eval(Evas_Object *obj)
      (wd->resize_obj, "elm.drag_button_base", 1.0 - pos, 0.5);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_actionslider_efl_ui_widget_theme_apply(Eo *obj, Elm_Actionslider_Data *sd 
EINA_UNUSED)
 {
    Eina_Bool mirrored;
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
 
    mirrored = elm_object_mirrored_get(obj);
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    if (elm_object_mirrored_get(obj) != mirrored)
      _mirroredness_change_eval(obj);
diff --git a/src/lib/elementary/elm_box.c b/src/lib/elementary/elm_box.c
index 71af0b5612..b08a25b318 100644
--- a/src/lib/elementary/elm_box.c
+++ b/src/lib/elementary/elm_box.c
@@ -57,15 +57,15 @@ _child_removed_cb_proxy(void *data, const Efl_Event *event)
    efl_event_callback_legacy_call(box, ELM_BOX_EVENT_CHILD_REMOVED, child);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_box_efl_ui_widget_theme_apply(Eo *obj, Elm_Box_Data *sd EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
    evas_object_smart_calculate(wd->resize_obj);
 
    return int_ret;
diff --git a/src/lib/elementary/elm_calendar.c 
b/src/lib/elementary/elm_calendar.c
index e150e54cd6..600f9d64f1 100644
--- a/src/lib/elementary/elm_calendar.c
+++ b/src/lib/elementary/elm_calendar.c
@@ -842,13 +842,13 @@ _spinner_buttons_add(Evas_Object *obj, Elm_Calendar_Data 
*sd)
      }
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_calendar_efl_ui_widget_theme_apply(Eo *obj, Elm_Calendar_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _spinner_buttons_add(obj, sd);
 
diff --git a/src/lib/elementary/elm_clock.c b/src/lib/elementary/elm_clock.c
index 2ace344c76..7b57b2b159 100644
--- a/src/lib/elementary/elm_clock.c
+++ b/src/lib/elementary/elm_clock.c
@@ -627,13 +627,13 @@ _time_update(Evas_Object *obj, Eina_Bool theme_update)
      sd->cur.ampm = -1;
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_clock_efl_ui_widget_theme_apply(Eo *obj, Elm_Clock_Data *sd EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _time_update(obj, EINA_TRUE);
 
diff --git a/src/lib/elementary/elm_code_widget.c 
b/src/lib/elementary/elm_code_widget.c
index 3cb4167ac0..e22ddf2f03 100644
--- a/src/lib/elementary/elm_code_widget.c
+++ b/src/lib/elementary/elm_code_widget.c
@@ -2341,15 +2341,15 @@ _elm_code_widget_theme_refresh(Eo *obj, 
Elm_Code_Widget_Data *pd)
      }
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_code_widget_efl_ui_widget_theme_apply(Eo *obj, Elm_Code_Widget_Data *pd)
 {
-   if (!efl_ui_widget_theme_apply(efl_cast(obj, EFL_UI_WIDGET_CLASS)))
-     return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (efl_ui_widget_theme_apply(efl_cast(obj, EFL_UI_WIDGET_CLASS)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
+     return EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    _elm_code_widget_theme_refresh(obj, pd);
 
-   return EFL_UI_THEME_APPLY_RESULT_SUCCESS;
+   return EFL_UI_THEME_APPLY_ERROR_NONE;
 }
 
 EOLIAN static int
@@ -2382,10 +2382,10 @@ _elm_code_widget_efl_canvas_group_group_add(Eo *obj, 
Elm_Code_Widget_Data *pd)
    elm_widget_can_focus_set(obj, EINA_TRUE);
    pd->alpha = 255;
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
                                        elm_widget_theme_klass_get(obj),
                                        elm_widget_theme_element_get(obj),
-                                       elm_widget_theme_style_get(obj)))
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    scroller = elm_scroller_add(obj);
diff --git a/src/lib/elementary/elm_colorselector.c 
b/src/lib/elementary/elm_colorselector.c
index 851c42f642..8c12e5bf02 100644
--- a/src/lib/elementary/elm_colorselector.c
+++ b/src/lib/elementary/elm_colorselector.c
@@ -1317,7 +1317,7 @@ _color_bars_add(Evas_Object *obj)
      }
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_colorselector_efl_ui_widget_theme_apply(Eo *obj, Elm_Colorselector_Data 
*sd)
 {
    int i;
@@ -1328,11 +1328,11 @@ _elm_colorselector_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Colorselector_Data *sd
    unsigned int h_pad = DEFAULT_HOR_PAD;
    unsigned int v_pad = DEFAULT_VER_PAD;
 
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    if ((sd->mode == ELM_COLORSELECTOR_PALETTE) ||
        (sd->mode == ELM_COLORSELECTOR_ALL) ||
diff --git a/src/lib/elementary/elm_conform.c b/src/lib/elementary/elm_conform.c
index 4c4035df3c..5a3ad4984c 100644
--- a/src/lib/elementary/elm_conform.c
+++ b/src/lib/elementary/elm_conform.c
@@ -573,13 +573,13 @@ _on_rotation_changed(void *data, const Efl_Event *event 
EINA_UNUSED)
      }
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_conformant_efl_ui_widget_theme_apply(Eo *obj, Elm_Conformant_Data *_pd 
EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _conformant_parts_swallow(obj);
 
diff --git a/src/lib/elementary/elm_dayselector.c 
b/src/lib/elementary/elm_dayselector.c
index eb051c0c52..cd39c5a285 100644
--- a/src/lib/elementary/elm_dayselector.c
+++ b/src/lib/elementary/elm_dayselector.c
@@ -123,17 +123,17 @@ _item_location_get(Elm_Dayselector_Data *sd,
           ELM_DAYSELECTOR_MAX;
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_dayselector_efl_ui_widget_theme_apply(Eo *obj, Elm_Dayselector_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    Eina_List *l;
    char buf[1024];
    Elm_Dayselector_Item_Data *it;
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    EINA_LIST_FOREACH(sd->items, l, it)
      {
diff --git a/src/lib/elementary/elm_diskselector.c 
b/src/lib/elementary/elm_diskselector.c
index 6994f8d2a8..d789295f5b 100644
--- a/src/lib/elementary/elm_diskselector.c
+++ b/src/lib/elementary/elm_diskselector.c
@@ -811,18 +811,18 @@ _theme_data_get(Evas_Object *obj)
    else sd->minh = -1;
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_diskselector_efl_ui_widget_theme_apply(Eo *obj, Elm_Diskselector_Data *sd)
 {
    Eina_List *l;
    Elm_Diskselector_Item_Data *it;
    Evas_Object *blank;
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    Evas *evas;
    const char *style = elm_widget_style_get(obj);
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    evas = evas_object_evas_get(obj);
    evas_event_freeze(evas);
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index 981a108808..06fb54683f 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -872,22 +872,22 @@ _elm_entry_background_switch(Evas_Object *from_edje, 
Evas_Object *to_edje)
 
 /* we can't issue the layout's theming code here, cause it assumes an
  * unique edje object, always */
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_entry_efl_ui_widget_theme_apply(Eo *obj, Elm_Entry_Data *sd)
 {
    const char *str;
    const char *t;
    const char *stl_user;
    const char *style = elm_widget_style_get(obj);
-   Efl_Ui_Theme_Apply_Result theme_apply;
+   Efl_Ui_Theme_Apply_Error theme_apply;
    int cursor_pos;
 
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
 
    // Note: We are skipping elm_layout here! This is by design.
    // This assumes the following inheritance: my_class -> layout -> widget ...
    theme_apply = efl_ui_widget_theme_apply(efl_cast(obj, EFL_UI_WIDGET_CLASS));
-   if (!theme_apply) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (theme_apply == EFL_UI_THEME_APPLY_ERROR_GENERIC) return 
EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    evas_event_freeze(evas_object_evas_get(obj));
 
@@ -974,14 +974,14 @@ _elm_entry_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Entry_Data *sd)
 
    if (sd->scroll)
      {
-        Efl_Ui_Theme_Apply_Result ok = EFL_UI_THEME_APPLY_RESULT_FAIL;
+        Efl_Ui_Theme_Apply_Error err = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
         efl_ui_mirrored_set(obj, efl_ui_mirrored_get(obj));
 
         if (sd->single_line)
-          ok = elm_widget_theme_object_set
+          err = elm_widget_theme_object_set
           (obj, sd->scr_edje, "scroller", "entry_single", style);
-        if (!ok)
+        if (err)
           elm_widget_theme_object_set
           (obj, sd->scr_edje, "scroller", "entry", style);
 
@@ -2854,8 +2854,8 @@ _item_get(void *data,
      }
 
    o = edje_object_add(evas_object_evas_get(data));
-   if (!_elm_theme_object_set
-         (data, o, "entry", item, style))
+   if (_elm_theme_object_set
+         (data, o, "entry", item, style) == EFL_UI_THEME_APPLY_ERROR_GENERIC)
      _elm_theme_object_set
        (data, o, "entry/emoticon", "wtf", style);
    return o;
@@ -3799,10 +3799,10 @@ _elm_entry_efl_canvas_group_group_add(Eo *obj, 
Elm_Entry_Data *priv)
                        _dnd_pos_cb, NULL,
                        _dnd_drop_cb, NULL);
 
-   if (!elm_widget_theme_object_set(obj, wd->resize_obj,
+   if (elm_widget_theme_object_set(obj, wd->resize_obj,
                                        elm_widget_theme_klass_get(obj),
                                        elm_widget_theme_element_get(obj),
-                                       elm_widget_theme_style_get(obj)))
+                                       elm_widget_theme_style_get(obj)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      CRI("Failed to set layout!");
 
    priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj));
diff --git a/src/lib/elementary/elm_flipselector.c 
b/src/lib/elementary/elm_flipselector.c
index 1262f9faad..99c1f94fc5 100644
--- a/src/lib/elementary/elm_flipselector.c
+++ b/src/lib/elementary/elm_flipselector.c
@@ -350,16 +350,16 @@ _item_new(Evas_Object *obj,
    return eo_item;
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_flipselector_efl_ui_widget_theme_apply(Eo *obj, Elm_Flipselector_Data *sd)
 {
    const char *max_len;
 
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    max_len = edje_object_data_get(wd->resize_obj, "max_len");
    if (!max_len) sd->max_len = MAX_LEN_DEFAULT;
diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c
index 6047ad8704..243e5d6216 100644
--- a/src/lib/elementary/elm_gengrid.c
+++ b/src/lib/elementary/elm_gengrid.c
@@ -1170,10 +1170,10 @@ _view_style_update(Elm_Gen_Item *it, Evas_Object *view, 
const char *style)
    ELM_GENGRID_DATA_GET_FROM_ITEM(it, sd);
    snprintf(buf, sizeof(buf), "item/%s", style ? style : "default");
 
-   Efl_Ui_Theme_Apply_Result th_ret =
+   Efl_Ui_Theme_Apply_Error th_ret =
       elm_widget_theme_object_set(WIDGET(it), view, "gengrid", buf,
                                     elm_widget_style_get(WIDGET(it)));
-   if (th_ret == EFL_UI_THEME_APPLY_RESULT_FAIL)
+   if (th_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC)
      {
         ERR("%s is not a valid gengrid item style. "
             "Automatically falls back into default style.",
@@ -3589,12 +3589,12 @@ _mirrored_set(Evas_Object *obj,
      }
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_gengrid_efl_ui_widget_theme_apply(Eo *obj, Elm_Gengrid_Data *sd 
EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _mirrored_set(obj, efl_ui_mirrored_get(obj));
 
diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index f224c0f14c..164deaa0fb 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -566,10 +566,10 @@ _view_style_update(Elm_Gen_Item *it, Evas_Object *view, 
const char *style)
                     "",style ? : "default");
      }
 
-   Efl_Ui_Theme_Apply_Result th_ret =
+   Efl_Ui_Theme_Apply_Error th_ret =
       elm_widget_theme_object_set(WIDGET(it), view, "genlist", buf,
                                   elm_widget_style_get(WIDGET(it)));
-   if (th_ret == EFL_UI_THEME_APPLY_RESULT_FAIL)
+   if (th_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC)
      {
         ERR("%s is not a valid genlist item style. "
             "Automatically falls back into default style.",
@@ -3533,17 +3533,17 @@ _mirrored_set(Evas_Object *obj,
    efl_ui_mirrored_set(obj, rtl);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_genlist_efl_ui_widget_theme_apply(Eo *obj, Elm_Genlist_Data *sd)
 {
    Item_Block *itb;
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    Eina_List *l;
    Elm_Gen_Item *it;
    Evas *e;
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    e = evas_object_evas_get(obj);
    evas_event_freeze(e);
diff --git a/src/lib/elementary/elm_grid.c b/src/lib/elementary/elm_grid.c
index b9279817b5..453da6c9d0 100644
--- a/src/lib/elementary/elm_grid.c
+++ b/src/lib/elementary/elm_grid.c
@@ -40,13 +40,13 @@ _mirrored_set(Evas_Object *obj, Eina_Bool rtl)
    evas_object_grid_mirrored_set(wd->resize_obj, rtl);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_grid_efl_ui_widget_theme_apply(Eo *obj, void *sd EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _mirrored_set(obj, efl_ui_mirrored_get(obj));
 
diff --git a/src/lib/elementary/elm_hover.c b/src/lib/elementary/elm_hover.c
index c653b3651c..ddd711b213 100644
--- a/src/lib/elementary/elm_hover.c
+++ b/src/lib/elementary/elm_hover.c
@@ -298,12 +298,12 @@ _hov_show_do(Evas_Object *obj)
    }
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_hover_efl_ui_widget_theme_apply(Eo *obj, Elm_Hover_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    if (sd->smt_sub) _elm_hover_smt_sub_re_eval(obj);
 
diff --git a/src/lib/elementary/elm_icon.c b/src/lib/elementary/elm_icon.c
index 6b00dcc633..e32655344b 100644
--- a/src/lib/elementary/elm_icon.c
+++ b/src/lib/elementary/elm_icon.c
@@ -366,16 +366,16 @@ _elm_icon_efl_file_load(Eo *obj, Elm_Icon_Data *sd)
    return 0;
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_icon_efl_ui_widget_theme_apply(Eo *obj, Elm_Icon_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    if (sd->stdicon)
      _elm_theme_object_icon_set(obj, sd->stdicon, elm_widget_style_get(obj));
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    return int_ret;
 }
diff --git a/src/lib/elementary/elm_index.c b/src/lib/elementary/elm_index.c
index c82ab64189..67ee93e8e5 100644
--- a/src/lib/elementary/elm_index.c
+++ b/src/lib/elementary/elm_index.c
@@ -432,13 +432,13 @@ _index_priority_change(void *data, Elm_Index_Item_Data 
*it)
      }
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_index_efl_ui_widget_theme_apply(Eo *obj, Elm_Index_Data *sd)
 {
    Evas_Coord minw = 0, minh = 0;
    Elm_Object_Item *eo_item;
 
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
 
@@ -451,7 +451,7 @@ _elm_index_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Index_Data *sd)
      elm_widget_theme_element_set(obj, "base/vertical");
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    elm_coords_finger_size_adjust(1, &minw, 1, &minh);
    evas_object_size_hint_min_set(sd->event_rect[0], minw, minh);
diff --git a/src/lib/elementary/elm_label.c b/src/lib/elementary/elm_label.c
index 51c367ad09..9e2dbae67b 100644
--- a/src/lib/elementary/elm_label.c
+++ b/src/lib/elementary/elm_label.c
@@ -182,17 +182,17 @@ _elm_label_horizontal_size_policy_update(Eo *obj, 
Elm_Label_Data *sd)
    edje_object_message_signal_process(wd->resize_obj);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_label_efl_ui_widget_theme_apply(Eo *obj, Elm_Label_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
 
    evas_event_freeze(evas_object_evas_get(obj));
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _elm_label_horizontal_size_policy_update(obj, sd);
 
diff --git a/src/lib/elementary/elm_list.c b/src/lib/elementary/elm_list.c
index b678bc1a34..686a04b836 100644
--- a/src/lib/elementary/elm_list.c
+++ b/src/lib/elementary/elm_list.c
@@ -1115,15 +1115,15 @@ _mirrored_set(Evas_Object *obj,
      }
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_list_efl_ui_widget_theme_apply(Eo *obj, Elm_List_Data *sd)
 {
    Elm_Object_Item *eo_it;
    Eina_List *n;
 
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _mirrored_set(obj, efl_ui_mirrored_get(obj));
 
diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c
index e29f5139e5..3cb2318588 100644
--- a/src/lib/elementary/elm_main.c
+++ b/src/lib/elementary/elm_main.c
@@ -1559,9 +1559,7 @@ elm_object_style_set(Evas_Object *obj,
                      const char  *style)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
-   if (elm_widget_style_set(obj, style))
-     return EINA_TRUE;
-   return EINA_FALSE;
+   return elm_widget_style_set(obj, style) == EFL_UI_THEME_APPLY_ERROR_NONE;
 }
 
 EAPI Eina_Bool
diff --git a/src/lib/elementary/elm_map.c b/src/lib/elementary/elm_map.c
index 5d13cdd9ef..fb61438335 100644
--- a/src/lib/elementary/elm_map.c
+++ b/src/lib/elementary/elm_map.c
@@ -3997,13 +3997,13 @@ _elm_map_pan_class_constructor(Efl_Class *klass)
 
 #include "elm_map_pan.eo.c"
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_map_efl_ui_widget_theme_apply(Eo *obj, Elm_Map_Data *sd EINA_UNUSED)
 {
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
 
    elm_widget_theme_object_set
diff --git a/src/lib/elementary/elm_mapbuf.c b/src/lib/elementary/elm_mapbuf.c
index 9e8369f469..7b45fbbb18 100644
--- a/src/lib/elementary/elm_mapbuf.c
+++ b/src/lib/elementary/elm_mapbuf.c
@@ -36,12 +36,12 @@ _sizing_eval(Evas_Object *obj)
    evas_object_size_hint_max_set(obj, maxw, maxh);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_mapbuf_efl_ui_widget_theme_apply(Eo *obj, Elm_Mapbuf_Data *sd EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _sizing_eval(obj);
 
diff --git a/src/lib/elementary/elm_menu.c b/src/lib/elementary/elm_menu.c
index 19225b7287..bd979695b4 100644
--- a/src/lib/elementary/elm_menu.c
+++ b/src/lib/elementary/elm_menu.c
@@ -231,10 +231,10 @@ _sizing_eval(Evas_Object *obj)
      }
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_menu_efl_ui_widget_theme_apply(Eo *obj, Elm_Menu_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    Eina_List *l, *_l, *_ll, *ll = NULL;
    Elm_Object_Item *eo_item;
@@ -242,7 +242,7 @@ _elm_menu_efl_ui_widget_theme_apply(Eo *obj, Elm_Menu_Data 
*sd)
    char style[1024];
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    if (sd->menu_bar)
       snprintf(style, sizeof(style), "main_menu/%s", 
elm_widget_style_get(obj));
diff --git a/src/lib/elementary/elm_notify.c b/src/lib/elementary/elm_notify.c
index 97e92acfcd..fe091b947e 100644
--- a/src/lib/elementary/elm_notify.c
+++ b/src/lib/elementary/elm_notify.c
@@ -20,7 +20,7 @@
 #define MY_CLASS_NAME "Elm_Notify"
 #define MY_CLASS_NAME_LEGACY "elm_notify"
 
-static Efl_Ui_Theme_Apply_Result
+static Efl_Ui_Theme_Apply_Error
 _notify_theme_apply(Evas_Object *obj)
 {
    const char *style = elm_widget_style_get(obj);
@@ -139,12 +139,12 @@ _sizing_eval(Evas_Object *obj)
    evas_object_geometry_set(obj, x, y, w, h);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_notify_efl_ui_widget_theme_apply(Eo *obj, Elm_Notify_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _mirrored_set(obj, efl_ui_mirrored_get(obj));
 
diff --git a/src/lib/elementary/elm_panel.c b/src/lib/elementary/elm_panel.c
index a0f4798121..b3c9ed553a 100644
--- a/src/lib/elementary/elm_panel.c
+++ b/src/lib/elementary/elm_panel.c
@@ -216,18 +216,18 @@ _scrollable_layout_theme_set(Eo *obj, Elm_Panel_Data *sd)
      _access_obj_process(obj, EINA_TRUE);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_panel_efl_ui_widget_theme_apply(Eo *obj, Elm_Panel_Data *sd)
 {
    const char *str;
    Evas_Coord minw = 0, minh = 0;
 
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _mirrored_set(obj, efl_ui_mirrored_get(obj));
 
diff --git a/src/lib/elementary/elm_photo.c b/src/lib/elementary/elm_photo.c
index 0130385185..fdb2ac5e64 100644
--- a/src/lib/elementary/elm_photo.c
+++ b/src/lib/elementary/elm_photo.c
@@ -49,14 +49,14 @@ _sizing_eval(Evas_Object *obj)
    evas_object_size_hint_max_set(obj, maxw, maxh);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_photo_efl_ui_widget_theme_apply(Eo *obj, Elm_Photo_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    edje_object_mirrored_set
      (wd->resize_obj, efl_ui_mirrored_get(obj));
diff --git a/src/lib/elementary/elm_plug.c b/src/lib/elementary/elm_plug.c
index 178e4a9baf..c851c8a10b 100644
--- a/src/lib/elementary/elm_plug.c
+++ b/src/lib/elementary/elm_plug.c
@@ -80,12 +80,12 @@ _elm_plug_efl_ui_focus_object_on_focus_update(Eo *obj, void 
*sd EINA_UNUSED)
    return EINA_TRUE;
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_plug_efl_ui_widget_theme_apply(Eo *obj, void *sd EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _sizing_eval(obj);
 
diff --git a/src/lib/elementary/elm_priv.h b/src/lib/elementary/elm_priv.h
index 780b20a746..73c4769bfe 100644
--- a/src/lib/elementary/elm_priv.h
+++ b/src/lib/elementary/elm_priv.h
@@ -589,7 +589,7 @@ void                 _elm_win_standard_init(Eo *win);
 
 Ecore_X_Window       _elm_ee_xwin_get(const Ecore_Evas *ee);
 
-Efl_Ui_Theme_Apply_Result      _elm_theme_object_set(Evas_Object *parent,
+Efl_Ui_Theme_Apply_Error      _elm_theme_object_set(Evas_Object *parent,
                                            Evas_Object *o,
                                            const char *clas,
                                            const char *group,
@@ -597,7 +597,7 @@ Efl_Ui_Theme_Apply_Result      
_elm_theme_object_set(Evas_Object *parent,
 Eina_Bool            _elm_theme_object_icon_set(Evas_Object *o,
                                                 const char *group,
                                                 const char *style);
-Efl_Ui_Theme_Apply_Result      _elm_theme_set(Elm_Theme *th,
+Efl_Ui_Theme_Apply_Error      _elm_theme_set(Elm_Theme *th,
                                     Evas_Object *o,
                                     const char *clas,
                                     const char *group,
diff --git a/src/lib/elementary/elm_route.c b/src/lib/elementary/elm_route.c
index dc8b861974..6b28cd2738 100644
--- a/src/lib/elementary/elm_route.c
+++ b/src/lib/elementary/elm_route.c
@@ -86,12 +86,12 @@ _move_resize_cb(void *data EINA_UNUSED,
    _sizing_eval(obj);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_route_efl_ui_widget_theme_apply(Eo *obj, Elm_Route_Data *sd EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    //TODO
 
diff --git a/src/lib/elementary/elm_scroller.c 
b/src/lib/elementary/elm_scroller.c
index 134dd1c1d7..c42a3af58a 100644
--- a/src/lib/elementary/elm_scroller.c
+++ b/src/lib/elementary/elm_scroller.c
@@ -398,12 +398,12 @@ _mirrored_set(Evas_Object *obj,
    efl_ui_mirrored_set(obj, mirrored);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_scroller_efl_ui_widget_theme_apply(Eo *obj, Elm_Scroller_Data *sd 
EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _mirrored_set(obj, efl_ui_mirrored_get(obj));
 
diff --git a/src/lib/elementary/elm_segment_control.c 
b/src/lib/elementary/elm_segment_control.c
index 5a51829d49..4d05c2d2fd 100644
--- a/src/lib/elementary/elm_segment_control.c
+++ b/src/lib/elementary/elm_segment_control.c
@@ -215,16 +215,16 @@ _update_list(Elm_Segment_Control_Data *sd)
      }
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_segment_control_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Segment_Control_Data *sd)
 {
    Eina_List *l;
    Eina_Bool rtl;
    Elm_Object_Item *eo_item;
 
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    rtl = efl_ui_mirrored_get(obj);
 
diff --git a/src/lib/elementary/elm_separator.c 
b/src/lib/elementary/elm_separator.c
index 482ebcf1a2..c6ad9e34c1 100644
--- a/src/lib/elementary/elm_separator.c
+++ b/src/lib/elementary/elm_separator.c
@@ -16,10 +16,10 @@
 #define MY_CLASS_NAME "Elm_Separator"
 #define MY_CLASS_NAME_LEGACY "elm_separator"
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_separator_efl_ui_widget_theme_apply(Eo *obj, Elm_Separator_Data *sd 
EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    if (sd->horizontal)
      elm_widget_theme_element_set(obj, "horizontal");
@@ -27,7 +27,7 @@ _elm_separator_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Separator_Data *sd EINA_UN
      elm_widget_theme_element_set(obj, "vertical");
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    return int_ret;
 }
diff --git a/src/lib/elementary/elm_slider.c b/src/lib/elementary/elm_slider.c
index d7af7d66de..4810f1bfb7 100644
--- a/src/lib/elementary/elm_slider.c
+++ b/src/lib/elementary/elm_slider.c
@@ -804,12 +804,12 @@ _elm_slider_theme_group_get(Evas_Object *obj, 
Elm_Slider_Data *sd)
    return eina_strbuf_release(new_group);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_slider_efl_ui_widget_theme_apply(Eo *obj, Elm_Slider_Data *sd)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
-   EFL_UI_SLIDER_DATA_GET_OR_RETURN(obj, sd2, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
+   EFL_UI_SLIDER_DATA_GET_OR_RETURN(obj, sd2, 
EFL_UI_THEME_APPLY_ERROR_GENERIC);
    char *group;
 
    group = _elm_slider_theme_group_get(obj, sd);
@@ -820,7 +820,7 @@ _elm_slider_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Slider_Data *sd)
      }
 
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    if (_is_horizontal(sd2->dir))
      evas_object_size_hint_min_set
diff --git a/src/lib/elementary/elm_spinner.c b/src/lib/elementary/elm_spinner.c
index db364ac569..246f08b140 100644
--- a/src/lib/elementary/elm_spinner.c
+++ b/src/lib/elementary/elm_spinner.c
@@ -1299,15 +1299,15 @@ _elm_spinner_efl_canvas_group_group_del(Eo *obj, 
Elm_Spinner_Data *sd)
    efl_canvas_group_del(efl_super(obj, MY_CLASS));
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_spinner_efl_ui_widget_theme_apply(Eo *obj, Elm_Spinner_Data *sd)
 {
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
 
-   if (!efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS)))
+   if (efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS)) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      {
         CRI("Failed to set layout!");
-        return EFL_UI_THEME_APPLY_RESULT_FAIL;
+        return EFL_UI_THEME_APPLY_ERROR_GENERIC;
      }
 
    if (edje_object_part_exists(wd->resize_obj, "elm.swallow.dec_button"))
@@ -1351,7 +1351,7 @@ _elm_spinner_efl_ui_widget_theme_apply(Eo *obj, 
Elm_Spinner_Data *sd)
      _access_spinner_register(obj, EINA_TRUE);
 
    elm_layout_sizing_eval(obj);
-   return EFL_UI_THEME_APPLY_RESULT_SUCCESS;
+   return EFL_UI_THEME_APPLY_ERROR_NONE;
 }
 
 static Eina_Bool _elm_spinner_smart_focus_next_enable = EINA_FALSE;
diff --git a/src/lib/elementary/elm_table.c b/src/lib/elementary/elm_table.c
index 87bda3a3a7..f3f20b7cf3 100644
--- a/src/lib/elementary/elm_table.c
+++ b/src/lib/elementary/elm_table.c
@@ -41,12 +41,12 @@ _mirrored_set(Evas_Object *obj, Eina_Bool rtl)
    evas_object_table_mirrored_set(wd->resize_obj, rtl);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_table_efl_ui_widget_theme_apply(Eo *obj, void *sd EINA_UNUSED)
 {
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    _mirrored_set(obj, efl_ui_mirrored_get(obj));
 
diff --git a/src/lib/elementary/elm_theme.c b/src/lib/elementary/elm_theme.c
index 13ebf233ca..c397e90626 100644
--- a/src/lib/elementary/elm_theme.c
+++ b/src/lib/elementary/elm_theme.c
@@ -302,7 +302,7 @@ _elm_theme_data_find(Elm_Theme *th, const char *key)
    return NULL;
 }
 
-Efl_Ui_Theme_Apply_Result
+Efl_Ui_Theme_Apply_Error
 _elm_theme_object_set(Evas_Object *parent, Evas_Object *o, const char *clas, 
const char *group, const char *style)
 {
    Elm_Theme *th = NULL;
@@ -323,7 +323,7 @@ _elm_theme_object_icon_set(Evas_Object *o,
    return _elm_theme_icon_set(th, o, group, style);
 }
 
-Efl_Ui_Theme_Apply_Result
+Efl_Ui_Theme_Apply_Error
 _elm_theme_set(Elm_Theme *th, Evas_Object *o, const char *clas, const char 
*group, const char *style, Eina_Bool is_legacy)
 {
    Eina_File *file;
@@ -331,9 +331,9 @@ _elm_theme_set(Elm_Theme *th, Evas_Object *o, const char 
*clas, const char *grou
    const char *group_sep = "/";
    const char *style_sep = ":";
 
-   if ((!clas) || !o) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if ((!clas) || !o) return EFL_UI_THEME_APPLY_ERROR_GENERIC;
    if (!th) th = theme_default;
-   if (!th) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (!th) return EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    if (eina_streq(style, "default")) style = NULL;
 
@@ -348,7 +348,7 @@ _elm_theme_set(Elm_Theme *th, Evas_Object *o, const char 
*clas, const char *grou
         file = _elm_theme_group_file_find(th, buf2);
         if (file)
           {
-             if (edje_object_mmap_set(o, file, buf2)) return 
EFL_UI_THEME_APPLY_RESULT_SUCCESS;
+             if (edje_object_mmap_set(o, file, buf2)) return 
EFL_UI_THEME_APPLY_ERROR_NONE;
              else
                {
                   ERR("could not set theme group '%s' from file '%s': %s",
@@ -362,11 +362,12 @@ _elm_theme_set(Elm_Theme *th, Evas_Object *o, const char 
*clas, const char *grou
      }
 
    if (!style)
-     return EFL_UI_THEME_APPLY_RESULT_FAIL;
+     return EFL_UI_THEME_APPLY_ERROR_GENERIC;
 
    // Use the elementary default style.
-   return (EFL_UI_THEME_APPLY_RESULT_DEFAULT &
-           _elm_theme_set(th, o, clas, group, NULL, is_legacy));
+   if (_elm_theme_set(th, o, clas, group, NULL, is_legacy) == 
EFL_UI_THEME_APPLY_ERROR_NONE)
+     return EFL_UI_THEME_APPLY_ERROR_DEFAULT;
+   return EFL_UI_THEME_APPLY_ERROR_GENERIC;
 }
 
 Eina_Bool
diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c
index c17f1c4cd9..bf21b81717 100644
--- a/src/lib/elementary/elm_toolbar.c
+++ b/src/lib/elementary/elm_toolbar.c
@@ -1480,18 +1480,18 @@ _elm_toolbar_highlight_in_theme(Evas_Object *obj)
      elm_widget_highlight_in_theme_set(obj, EINA_FALSE);
 }
 
-EOLIAN static Efl_Ui_Theme_Apply_Result
+EOLIAN static Efl_Ui_Theme_Apply_Error
 _elm_toolbar_efl_ui_widget_theme_apply(Eo *obj, Elm_Toolbar_Data *sd)
 {
    Elm_Toolbar_Item_Data *it;
    double scale = 0;
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_RESULT_FAIL);
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_ERROR_GENERIC);
 
-   if (sd->delete_me) return EFL_UI_THEME_APPLY_RESULT_SUCCESS;
+   if (sd->delete_me) return EFL_UI_THEME_APPLY_ERROR_NONE;
 
-   Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL;
+   Efl_Ui_Theme_Apply_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
    int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
-   if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL;
+   if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
 
    elm_widget_theme_object_set
      (obj, wd->resize_obj, "toolbar", "base",
diff --git a/src/lib/elementary/elm_widget.h b/src/lib/elementary/elm_widget.h
index e53c3cfef3..994fd39388 100644
--- a/src/lib/elementary/elm_widget.h
+++ b/src/lib/elementary/elm_widget.h
@@ -579,7 +579,7 @@ struct _Elm_Widget_Item_Data
 
 EAPI Eina_Bool        elm_widget_api_check(int ver);
 EAPI Eina_Bool        elm_widget_access(Evas_Object *obj, Eina_Bool is_access);
-EAPI Efl_Ui_Theme_Apply_Result  elm_widget_theme(Evas_Object *obj);
+EAPI Efl_Ui_Theme_Apply_Error  elm_widget_theme(Evas_Object *obj);
 EAPI void             elm_widget_theme_specific(Evas_Object *obj, Elm_Theme 
*th, Eina_Bool force);
 EAPI void             elm_widget_on_show_region_hook_set(Evas_Object *obj, 
void *data, Efl_Ui_Scrollable_On_Show_Region func, Eina_Free_Cb data_free);
 EAPI Eina_Bool        elm_widget_sub_object_parent_add(Evas_Object *sobj);
@@ -646,7 +646,7 @@ EAPI void             
elm_widget_scroll_freeze_pop(Evas_Object *obj);
 EAPI int              elm_widget_scroll_freeze_get(const Evas_Object *obj);
 EAPI void             elm_widget_theme_set(Evas_Object *obj, Elm_Theme *th);
 EAPI Elm_Theme       *elm_widget_theme_get(const Evas_Object *obj);
-EAPI Efl_Ui_Theme_Apply_Result  elm_widget_style_set(Evas_Object *obj, const 
char *style);
+EAPI Efl_Ui_Theme_Apply_Error  elm_widget_style_set(Evas_Object *obj, const 
char *style);
 EAPI const char      *elm_widget_style_get(const Evas_Object *obj);
 EAPI void             elm_widget_type_set(Evas_Object *obj, const char *type);
 EAPI const char      *elm_widget_type_get(const Evas_Object *obj);
@@ -658,7 +658,7 @@ EAPI void             
elm_widget_scroll_lock_set(Evas_Object *obj, Efl_Ui_Scroll
 EAPI Efl_Ui_Scroll_Block elm_widget_scroll_lock_get(const Evas_Object *obj);
 EAPI int              elm_widget_scroll_child_locked_x_get(const Evas_Object 
*obj);
 EAPI int              elm_widget_scroll_child_locked_y_get(const Evas_Object 
*obj);
-EAPI Efl_Ui_Theme_Apply_Result  elm_widget_theme_object_set(Evas_Object *obj, 
Evas_Object *edj, const char *wname, const char *welement, const char *wstyle);
+EAPI Efl_Ui_Theme_Apply_Error  elm_widget_theme_object_set(Evas_Object *obj, 
Evas_Object *edj, const char *wname, const char *welement, const char *wstyle);
 EAPI Eina_Bool        elm_widget_type_check(const Evas_Object *obj, const char 
*type, const char *func);
 EAPI Evas_Object     *elm_widget_name_find(const Evas_Object *obj, const char 
*name, int recurse);
 EAPI Eina_List       *elm_widget_stringlist_get(const char *str);
@@ -687,7 +687,7 @@ EAPI Eina_Bool        
elm_widget_theme_element_set(Evas_Object *obj, const char
 EAPI const char      *elm_widget_theme_element_get(const Evas_Object *obj);
 EAPI Eina_Bool        elm_widget_theme_style_set(Evas_Object *obj, const char 
*name);
 EAPI const char      *elm_widget_theme_style_get(const Evas_Object *obj);
-EAPI Efl_Ui_Theme_Apply_Result elm_widget_element_update(Evas_Object *obj, 
Evas_Object *component, const char *name);
+EAPI Efl_Ui_Theme_Apply_Error elm_widget_element_update(Evas_Object *obj, 
Evas_Object *component, const char *name);
 
 /* debug function. don't use it unless you are tracking parenting issues */
 EAPI void             elm_widget_tree_dump(const Evas_Object *top);
diff --git a/src/lib/elementary/els_cursor.c b/src/lib/elementary/els_cursor.c
index 8b5ee7a8d4..cf4bc7642c 100644
--- a/src/lib/elementary/els_cursor.c
+++ b/src/lib/elementary/els_cursor.c
@@ -289,8 +289,8 @@ _elm_cursor_obj_add(Evas_Object *obj, Elm_Cursor *cur)
    edje_object_freeze(cur->obj);
    edje_object_update_hints_set(cur->obj, 1);
 
-   if (!elm_widget_theme_object_set(obj, cur->obj, "cursor", cur->cursor_name,
-                             cur->style ? cur->style : "default"))
+   if (elm_widget_theme_object_set(obj, cur->obj, "cursor", cur->cursor_name,
+                             cur->style ? cur->style : "default") == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      {
         ELM_SAFE_FREE(cur->obj, evas_object_del);
         return EINA_FALSE;
@@ -779,8 +779,8 @@ elm_object_sub_cursor_style_set(Evas_Object *obj, const 
char *style)
      }
    else
      {
-        if (!elm_widget_theme_object_set(obj, cur->obj, "cursor", 
cur->cursor_name,
-                                   style))
+        if (elm_widget_theme_object_set(obj, cur->obj, "cursor", 
cur->cursor_name,
+                                   style) == EFL_UI_THEME_APPLY_ERROR_GENERIC)
           {
              ERR("Could not apply the theme to the cursor style=%s", style);
              return EINA_FALSE;
@@ -820,8 +820,8 @@ void
 elm_cursor_theme(Elm_Cursor *cur)
 {
    if ((!cur) || (!cur->obj)) return;
-   if (!elm_widget_theme_object_set(cur->owner, cur->obj, "cursor",
-                              cur->cursor_name, cur->style))
+   if (elm_widget_theme_object_set(cur->owner, cur->obj, "cursor",
+                              cur->cursor_name, cur->style) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      ERR("Could not apply the theme to the cursor style=%s", cur->style);
    else
      _elm_cursor_set_hot_spots(cur);
diff --git a/src/lib/elementary/els_tooltip.c b/src/lib/elementary/els_tooltip.c
index 9b604217e5..78b09e8373 100644
--- a/src/lib/elementary/els_tooltip.c
+++ b/src/lib/elementary/els_tooltip.c
@@ -445,8 +445,8 @@ _elm_tooltip_reconfigure(Elm_Tooltip *tt)
      {
         const char *style = tt->style ? tt->style : "default";
         const char *str;
-        if (!_elm_theme_object_set(tt->tt_win ? : tt->owner, tt->tooltip,
-                                  "tooltip", NULL, style))
+        if (_elm_theme_object_set(tt->tt_win ? : tt->owner, tt->tooltip,
+                                  "tooltip", NULL, style) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
           {
              ERR("Could not apply the theme to the tooltip! style=%s", style);
              if (tt->tt_win) evas_object_del(tt->tt_win);
diff --git a/src/lib/elementary/elu_ews_wm.c b/src/lib/elementary/elu_ews_wm.c
index 4018424cb6..0120aea6ea 100644
--- a/src/lib/elementary/elu_ews_wm.c
+++ b/src/lib/elementary/elu_ews_wm.c
@@ -476,7 +476,7 @@ _elm_ews_wm_init(void)
    o = edje_object_add(e);
    if (!o) return EINA_FALSE;
 
-   if (!_elm_theme_set(NULL, o, "ews", "background", "default", EINA_TRUE))
+   if (_elm_theme_set(NULL, o, "ews", "background", "default", EINA_TRUE) == 
EFL_UI_THEME_APPLY_ERROR_GENERIC)
      {
         ERR("Could not set background theme, fallback to rectangle");
         evas_object_del(o);

-- 


Reply via email to