[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/khtml/ecma
From: Maks Orlovich <maksim () kde ! org>
Date: 2010-06-10 15:56:44
Message-ID: 20100610160346.85847AC8CF () svn ! kde ! org
[Download RAW message or body]
SVN commit 1136735 by orlovich:
Don't rely on having an interpreter to mark scriptable ops.
M +0 -2 kjs_binding.cpp
M +15 -1 kjs_scriptable.cpp
--- trunk/KDE/kdelibs/khtml/ecma/kjs_binding.cpp #1136734:1136735
@@ -113,8 +113,6 @@
obj->mark();
++it;
}
-
- ScriptableOperations::self()->mark();
}
KParts::ReadOnlyPart* ScriptInterpreter::part() const {
--- trunk/KDE/kdelibs/khtml/ecma/kjs_scriptable.cpp #1136734:1136735
@@ -461,10 +461,24 @@
return s_importedFunctions;
}
+// A little helper for marking exportedObjects. We need this since we have
+// an unclear runtime with respect to interpreter.
+class ScriptableOperationsMarker: public JSObject
+{
+public:
+ virtual void mark() {
+ JSObject::mark();
+ ScriptableOperations::self()->mark();
+ }
+};
+
QHash<JSObject*, int>* ScriptableOperations::exportedObjects()
{
- if (!s_exportedObjects)
+ if (!s_exportedObjects) {
s_exportedObjects = new QHash<JSObject*, int>;
+
+ gcProtect(new ScriptableOperationsMarker());
+ }
return s_exportedObjects;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic