diff --git a/src/cli.vala b/src/cli.vala index f46dbd4..cb80696 100644 --- a/src/cli.vala +++ b/src/cli.vala @@ -503,9 +503,12 @@ public class CliController : GLib.Object { // 字段名兼容: 本版写 checked_files, Flet 版写 checked_entries. 优先读自己的, // 缺失时回退到另一个, 两个版本互相打开项目时勾选状态不丢. - var checked_arr = root.has_member ("checked_files") - ? root.get_array_member ("checked_files") - : (root.has_member ("checked_entries") ? root.get_array_member ("checked_entries") : null); + Json.Array? checked_arr = null; + if (root.has_member ("checked_files")) { + checked_arr = root.get_array_member ("checked_files"); + } else if (root.has_member ("checked_entries")) { + checked_arr = root.get_array_member ("checked_entries"); + } if (checked_arr != null) { for (int i = 0; i < checked_arr.get_length (); i++) { var p = checked_arr.get_string_element (i); diff --git a/src/services/project_manager.vala b/src/services/project_manager.vala index f063551..62c0397 100644 --- a/src/services/project_manager.vala +++ b/src/services/project_manager.vala @@ -52,9 +52,12 @@ public class ProjectManager : GLib.Object { // 字段名兼容: 本版写 checked_files, Flet 版写 checked_entries. 优先读自己的, // 缺失时回退到另一个, 两个版本互相打开项目时勾选状态不丢. - var checked_arr = root.has_member ("checked_files") - ? root.get_array_member ("checked_files") - : (root.has_member ("checked_entries") ? root.get_array_member ("checked_entries") : null); + Json.Array? checked_arr = null; + if (root.has_member ("checked_files")) { + checked_arr = root.get_array_member ("checked_files"); + } else if (root.has_member ("checked_entries")) { + checked_arr = root.get_array_member ("checked_entries"); + } if (checked_arr != null) { for (int i = 0; i < checked_arr.get_length (); i++) { var p = checked_arr.get_string_element (i);