elm_panel: reset layout theme when scrollable mode is changed

after a panel becomes scrollable, it has two layout objects internally
and only one of them is active. when elm_panel_orient_set() function
is called, only the active layout's theme is changed according to
the orientation. so if scrollable mode is changed after that, it shows
the old theme. this patch fixes it.
This commit is contained in:
Jaeun Choi 2019-01-21 14:51:10 +09:00
parent c7449e097b
commit 368ab45b26
1 changed files with 3 additions and 0 deletions

View File

@ -1378,6 +1378,7 @@ _elm_panel_scrollable_set(Eo *obj, Elm_Panel_Data *sd, Eina_Bool scrollable)
if (!elm_layout_content_set(sd->scr_ly, "elm.event_area", sd->scr_event))
elm_layout_content_set(sd->scr_ly, "event_area", sd->scr_event);
}
else _scrollable_layout_theme_set(obj, sd);
elm_interface_scrollable_content_set(obj, sd->scr_ly);
sd->freeze = EINA_TRUE;
@ -1439,6 +1440,8 @@ _elm_panel_scrollable_set(Eo *obj, Elm_Panel_Data *sd, Eina_Bool scrollable)
elm_widget_resize_object_set(obj, sd->panel_edje);
_orient_set_do(obj);
evas_object_hide(sd->scr_ly);
elm_layout_content_unset(sd->scr_ly, "elm.swallow.content");
efl_content_set(efl_part(efl_super(obj, MY_CLASS), "elm.swallow.content"), sd->bx);