From 0d302516d521016552333c00f1c5a470b04428eb Mon Sep 17 00:00:00 2001 From: Ali Mohammad Pur Date: Sun, 20 Mar 2022 12:31:57 +0330 Subject: [PATCH] Spreadsheet: Skip over "invalid" saved cell values These can be generated by saving something that's not serialisable (e.g. functions), skip over them and let the load logic reevaluate them when needed. --- Userland/Applications/Spreadsheet/Spreadsheet.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Userland/Applications/Spreadsheet/Spreadsheet.cpp b/Userland/Applications/Spreadsheet/Spreadsheet.cpp index a1552a4246..14efb02f59 100644 --- a/Userland/Applications/Spreadsheet/Spreadsheet.cpp +++ b/Userland/Applications/Spreadsheet/Spreadsheet.cpp @@ -416,7 +416,10 @@ RefPtr Sheet::from_json(const JsonObject& object, Workbook& workbook) case Cell::Formula: { auto& interpreter = sheet->interpreter(); auto value_or_error = JS::call(interpreter.global_object(), parse_function, json, JS::js_string(interpreter.heap(), obj.get("value").as_string())); - VERIFY(!value_or_error.is_error()); + if (value_or_error.is_error()) { + warnln("Failed to load previous value for cell {}, leaving as undefined", position.to_cell_identifier(sheet)); + value_or_error = JS::js_undefined(); + } cell = make(obj.get("source").to_string(), value_or_error.release_value(), position, *sheet); break; }