mainview_panels: on close tab focus on existing tab and always keep one mainview panel.

Summary: This fixes crashes when closing tabs/panel and losing focus.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5038
This commit is contained in:
Al Poole 2017-07-25 13:45:51 +01:00 committed by Andy Williams
parent fae8350ea1
commit 2386b51a60
1 changed files with 5 additions and 1 deletions

View File

@ -267,12 +267,16 @@ _closetab(void *data, Evas_Object *obj EINA_UNUSED,
const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
{
Edi_Mainview_Panel *panel;
int index;
panel = edi_mainview_panel_for_item_get((Edi_Mainview_Item *)data);
edi_mainview_panel_item_close(panel, data);
if (eina_list_count(panel->items)== 0)
if (eina_list_count(panel->items)== 0 && edi_mainview_panel_count() > 1)
{
edi_mainview_panel_remove(panel);
index = edi_mainview_panel_count() - 1;
panel = edi_mainview_panel_by_index(index);
edi_mainview_panel_focus(panel);
}
}