elm_code_widget: make sure the widget is cleared properly.

This ensures the widget is clearer if the file has been cleared.
@fix T6185
This commit is contained in:
Al Poole 2017-10-21 01:28:06 +01:00
parent 613649a39f
commit eeb25519b3
1 changed files with 20 additions and 1 deletions

View File

@ -462,6 +462,19 @@ _elm_code_widget_refresh(Elm_Code_Widget *widget, Elm_Code_Line *line)
_elm_code_widget_fill_update(widget, first_row, last_row, line);
}
static void
_elm_code_widget_clear(Elm_Code_Widget *widget)
{
Elm_Code_Widget_Data *pd;
Evas_Object *grid;
pd = efl_data_scope_get(widget, ELM_CODE_WIDGET_CLASS);
EINA_LIST_FREE(pd->grids, grid)
{
evas_object_del(grid);
}
}
static void
_elm_code_widget_fill(Elm_Code_Widget *widget)
{
@ -492,10 +505,16 @@ static void
_elm_code_widget_file_cb(void *data, const Efl_Event *event EINA_UNUSED)
{
Elm_Code_Widget *widget;
Elm_Code_Widget_Data *pd;
widget = (Elm_Code_Widget *)data;
_elm_code_widget_fill(widget);
pd = efl_data_scope_get(widget, ELM_CODE_WIDGET_CLASS);
if (elm_code_file_lines_get(pd->code->file))
_elm_code_widget_fill(widget);
else
_elm_code_widget_clear(widget);
}
static void