fixed: <rdar://problem/
4166838> failed assertion in`Interpreter::lockCount() > 0
no layout test added; this is in the bindings code.
* bindings/objc/WebScriptObject.mm:
(+[WebScriptObject _convertValueToObjcValue:KJS::originExecutionContext:Bindings::executionContext:Bindings::]): make sure to lock and unlock the interpreter around allocations.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9549
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2005-06-30 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by rjw.
+
+ fixed: <rdar://problem/4166838> failed assertion in`Interpreter::lockCount() > 0
+
+ no layout test added; this is in the bindings code.
+
+ * bindings/objc/WebScriptObject.mm:
+ (+[WebScriptObject _convertValueToObjcValue:KJS::originExecutionContext:Bindings::executionContext:Bindings::]): make sure to lock and unlock the interpreter around allocations.
+
2005-06-29 Geoffrey Garen <ggaren@apple.com>
Patch by Francisco Tolmasky <tolmasky@gmail.com>
ObjectImp *objectImp = static_cast<ObjectImp*>(value.imp());
Interpreter *intepreter = executionContext->interpreter();
ExecState *exec = intepreter->globalExec();
-
- if (objectImp->classInfo() != &KJS::RuntimeObjectImp::info) {
+ Interpreter::lock();
+
+ if (objectImp->classInfo() != &KJS::RuntimeObjectImp::info) {
Value runtimeObject = objectImp->get(exec, "__apple_runtime_object");
if (!runtimeObject.isNull() && runtimeObject.type() == KJS::ObjectType)
objectImp = static_cast<RuntimeObjectImp*>(runtimeObject.imp());
}
+
+ Interpreter::unlock();
if (objectImp->classInfo() == &KJS::RuntimeObjectImp::info) {
RuntimeObjectImp *imp = static_cast<RuntimeObjectImp *>(objectImp);