elm: apply the same fix we needed in entry to other scrollable widgets

this here is the same effect as in my previous commit:
When re retheme a object, we need to reset the signals, otherwise there
would be wrongly displayed scrollbars.

This fixes wrong scrollbars in enlightenment.

Differential Revision: https://phab.enlightenment.org/D10628
This commit is contained in:
Marcel Hollerbach 2019-11-07 23:00:36 +01:00
parent 6b1de6a4ac
commit 4c8a764b49
7 changed files with 8 additions and 3 deletions

View File

@ -3623,6 +3623,7 @@ _elm_gengrid_efl_ui_widget_theme_apply(Eo *obj, Elm_Gengrid_Data *sd EINA_UNUSED
int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
elm_interface_scrollable_reset_signals(obj);
_mirrored_set(obj, efl_ui_mirrored_get(obj));
return int_ret;

View File

@ -3562,6 +3562,7 @@ _elm_genlist_efl_ui_widget_theme_apply(Eo *obj, Elm_Genlist_Data *sd)
int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
elm_interface_scrollable_reset_signals(obj);
e = evas_object_evas_get(obj);
evas_event_freeze(e);
_mirrored_set(obj, efl_ui_mirrored_get(obj));

View File

@ -1139,6 +1139,8 @@ _elm_list_efl_ui_widget_theme_apply(Eo *obj, Elm_List_Data *sd)
int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
elm_interface_scrollable_reset_signals(obj);
_mirrored_set(obj, efl_ui_mirrored_get(obj));
EINA_LIST_FOREACH(sd->items, n, eo_it)
@ -1150,7 +1152,6 @@ _elm_list_efl_ui_widget_theme_apply(Eo *obj, Elm_List_Data *sd)
}
_items_fix(obj);
elm_layout_sizing_eval(obj);
return int_ret;

View File

@ -4002,10 +4002,9 @@ _elm_map_efl_ui_widget_theme_apply(Eo *obj, Elm_Map_Data *sd EINA_UNUSED)
int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
elm_widget_theme_object_set
(obj, wd->resize_obj, "map", "base", elm_widget_style_get(obj));
elm_interface_scrollable_reset_signals(obj);
_sizing_eval(obj);
return int_ret;

View File

@ -223,6 +223,7 @@ _elm_panel_efl_ui_widget_theme_apply(Eo *obj, Elm_Panel_Data *sd)
int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
elm_interface_scrollable_reset_signals(obj);
_mirrored_set(obj, efl_ui_mirrored_get(obj));
if (sd->scrollable)

View File

@ -406,6 +406,7 @@ _elm_scroller_efl_ui_widget_theme_apply(Eo *obj, Elm_Scroller_Data *sd EINA_UNUS
int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
elm_interface_scrollable_reset_signals(obj);
_mirrored_set(obj, efl_ui_mirrored_get(obj));
elm_layout_sizing_eval(obj);

View File

@ -1511,6 +1511,7 @@ _elm_toolbar_efl_ui_widget_theme_apply(Eo *obj, Elm_Toolbar_Data *sd)
elm_widget_theme_object_set
(obj, wd->resize_obj, "toolbar", "base",
elm_widget_style_get(obj));
elm_interface_scrollable_reset_signals(obj);
if (!efl_ui_layout_orientation_is_horizontal(sd->dir, EINA_TRUE))
edje_object_signal_emit(wd->resize_obj, "elm,orient,vertical", "elm");
else