From d9cbdf29ad7590fa1ac4c64e10a00989e1dc3901 Mon Sep 17 00:00:00 2001 From: Ted John Date: Tue, 21 Apr 2020 22:08:19 +0100 Subject: [PATCH] Ensure all paths return a value regardless of duk_error --- src/openrct2/scripting/ScConfiguration.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/openrct2/scripting/ScConfiguration.hpp b/src/openrct2/scripting/ScConfiguration.hpp index f621fcb600..01da35d14a 100644 --- a/src/openrct2/scripting/ScConfiguration.hpp +++ b/src/openrct2/scripting/ScConfiguration.hpp @@ -132,6 +132,7 @@ namespace OpenRCT2::Scripting DukValue getAll(const std::string& ns) { + DukValue result; auto ctx = GetContext()->GetScriptEngine().GetContext(); if (IsValidNamespace(ns)) { @@ -142,18 +143,19 @@ namespace OpenRCT2::Scripting { obj.Set("general.showFps", gConfigGeneral.show_fps); } - return obj.Take(); + result = obj.Take(); } else { auto obj = GetNamespaceObject(ns); - return obj ? *obj : DukObject(ctx).Take(); + result = obj ? *obj : DukObject(ctx).Take(); } } else { duk_error(ctx, DUK_ERR_ERROR, "Namespace was invalid."); } + return result; } DukValue get(const std::string& key, const DukValue& defaultValue)