From 19b2d6226c5ffe8e00c21d8bbd2ca9466eeec40b Mon Sep 17 00:00:00 2001 From: gnosygnu Date: Wed, 15 Mar 2017 19:58:11 -0400 Subject: [PATCH] Category: Fix fatal page load error when page_cat_db_id is invalid --- .../wikis/ctgs/htmls/pageboxs/Xoctg_pagebox_loader.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/Xoctg_pagebox_loader.java b/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/Xoctg_pagebox_loader.java index 05d708f7b..025742f06 100644 --- a/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/Xoctg_pagebox_loader.java +++ b/400_xowa/src/gplx/xowa/addons/wikis/ctgs/htmls/pageboxs/Xoctg_pagebox_loader.java @@ -49,8 +49,9 @@ class Xoctg_pagebox_loader implements Select_in_cbk { // select attach_mgr.Attach(); - Db_rdr rdr = cat_link_conn.Stmt_sql(sql).Exec_select__rls_auto(); + Db_rdr rdr = Db_rdr_.Empty; try { + rdr = cat_link_conn.Stmt_sql(sql).Exec_select__rls_auto(); while (rdr.Move_next()) { Xoa_ttl ttl = wiki.Ttl_parse(rdr.Read_int("page_namespace"), rdr.Read_bry_by_str("page_title")); // check if ttl exists already in hash; add it if not; check is not needed now b/c html_dbs will never put itms in hash, but may need in future if merging "wtxt" and "ctgs_dbs" @@ -60,6 +61,9 @@ class Xoctg_pagebox_loader implements Select_in_cbk { itm.Load_by_db(rdr.Read_int("cl_to_id"), DateAdp_.unixtime_utc_ms_(rdr.Read_long("cl_timestamp_unix"))); } } + catch (Exception e) { + Gfo_usr_dlg_.Instance.Warn_many("", "", "category.pagebox: fatal error while retrieving categories; page=~{0} err=~{1}", page_id, Err_.Message_gplx_log(e)); + } finally { rdr.Rls(); attach_mgr.Detach();