[gjs/ewlsh/march-maintenance] context: Log JavaScript errors in bootstrap code prior to exiting




commit 7205fb369ea9898a0df98b079746af345be5bb48
Author: Evan Welsh <contact evanwelsh com>
Date:   Sat Mar 5 11:27:30 2022 -0800

    context: Log JavaScript errors in bootstrap code prior to exiting

 gjs/context.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/gjs/context.cpp b/gjs/context.cpp
index b1cb934bc..4e22825d0 100644
--- a/gjs/context.cpp
+++ b/gjs/context.cpp
@@ -598,11 +598,14 @@ static void load_context_module(JSContext* cx, const char* uri,
     GjsContextPrivate::from_cx(cx)->main_loop_hold();
     bool ok = add_promise_reactions(
         cx, evaluation_promise, on_context_module_resolved,
-        [](JSContext* cx, unsigned, JS::Value*) {
-            GjsContextPrivate::from_cx(cx)->main_loop_release();
+        [](JSContext* cx, unsigned argc, JS::Value* vp) {
+            JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
 
+            JS::HandleValue error = args.get(0);
             // Abort because this module is required.
-            g_error("Failed to load context module.");
+            gjs_log_exception_full(cx, error, nullptr, G_LOG_LEVEL_ERROR);
+
+            GjsContextPrivate::from_cx(cx)->main_loop_release();
             return false;
         },
         "context");


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]