Gui: Fix null ref if 0 tabs and exiting app

pull/620/head
gnosygnu 8 years ago
parent 8b6bda0b6d
commit 319120364c

@ -40,6 +40,7 @@ class Xog_launcher_tabs {
String launch_url = launch_urls[i]; String launch_url = launch_urls[i];
Launch_tab(win, home_wiki, launch_url); Launch_tab(win, home_wiki, launch_url);
} }
if (startup_tabs.Startup_idx() != -1)
app.Gui_mgr().Browser_win().Tab_mgr().Tabs_select_by_idx(startup_tabs.Startup_idx()); app.Gui_mgr().Browser_win().Tab_mgr().Tabs_select_by_idx(startup_tabs.Startup_idx());
fil_marker.End(); fil_marker.End();
return true; return true;

@ -94,7 +94,12 @@ public class Xog_startup_tabs {
app.Cfg().Set_str_app(Cfg__prev_version, Xoa_app_.Version); app.Cfg().Set_str_app(Cfg__prev_version, Xoa_app_.Version);
if (String_.Eq(app.Cfg().Get_str_app_or(Cfg__startup_type, Opt__startup_type__previous), Opt__startup_type__previous)) { if (String_.Eq(app.Cfg().Get_str_app_or(Cfg__startup_type, Opt__startup_type__previous), Opt__startup_type__previous)) {
app.Cfg().Set_str_app(Cfg__prev_list , Calc_previous_tabs(app.Gui_mgr().Browser_win().Tab_mgr())); app.Cfg().Set_str_app(Cfg__prev_list , Calc_previous_tabs(app.Gui_mgr().Browser_win().Tab_mgr()));
app.Cfg().Set_int_app(Cfg__prev_selected, app.Gui_mgr().Browser_win().Tab_mgr().Active_tab().Tab_idx());
// save prev_selected
int prev_selected = app.Gui_mgr().Browser_win().Tab_mgr().Tabs_len() == 0 // must check for 0 tabs, else null ref
? -1
: app.Gui_mgr().Browser_win().Tab_mgr().Active_tab().Tab_idx();
app.Cfg().Set_int_app(Cfg__prev_selected, prev_selected);
} }
} }
private static String Calc_previous_tabs(gplx.xowa.guis.views.Xog_tab_mgr tab_mgr) { private static String Calc_previous_tabs(gplx.xowa.guis.views.Xog_tab_mgr tab_mgr) {

Loading…
Cancel
Save