Browse Source

LibJS: Set OrdinaryFunctionObject's realm from the Tnterpreter

...instead of relying on the VM having a current execution context. This
was an incorrect assumption I made, and it caused onfoo attribute
handler construction in LibWeb to crash.
Just use the same mechanism as NativeFunction in the meantime.
Linus Groh 3 years ago
parent
commit
4f362fc703
1 changed files with 1 additions and 1 deletions
  1. 1 1
      Userland/Libraries/LibJS/Runtime/OrdinaryFunctionObject.cpp

+ 1 - 1
Userland/Libraries/LibJS/Runtime/OrdinaryFunctionObject.cpp

@@ -43,7 +43,7 @@ OrdinaryFunctionObject::OrdinaryFunctionObject(GlobalObject& global_object, cons
     , m_body(body)
     , m_body(body)
     , m_parameters(move(parameters))
     , m_parameters(move(parameters))
     , m_environment(parent_scope)
     , m_environment(parent_scope)
-    , m_realm(vm().current_realm())
+    , m_realm(vm().interpreter_if_exists() ? &vm().interpreter().realm() : nullptr)
     , m_function_length(function_length)
     , m_function_length(function_length)
     , m_kind(kind)
     , m_kind(kind)
     , m_is_strict(is_strict)
     , m_is_strict(is_strict)