--- a/webengine/osswebengine/JavaScriptCore/bindings/npruntime.cpp Fri May 08 08:25:06 2009 +0300
+++ b/webengine/osswebengine/JavaScriptCore/bindings/npruntime.cpp Fri Jul 03 15:54:40 2009 +0100
@@ -41,14 +41,26 @@
typedef HashMap<RefPtr<KJS::UString::Rep>, PrivateIdentifier*> StringIdentifierMap;
+static StringIdentifierMap* stringIdentifierMap = 0;
+
static StringIdentifierMap* getStringIdentifierMap()
{
- static StringIdentifierMap* stringIdentifierMap = 0;
if (!stringIdentifierMap)
stringIdentifierMap = new StringIdentifierMap;
return stringIdentifierMap;
}
+struct cleanupStringIdentifier {
+ ~cleanupStringIdentifier() {
+ if( stringIdentifierMap ) {
+ stringIdentifierMap->clear();
+ delete stringIdentifierMap;
+ stringIdentifierMap = 0;
+ }
+ }
+};
+struct cleanupStringIdentifier cleanup;
+
typedef HashMap<int, PrivateIdentifier*> IntIdentifierMap;
static IntIdentifierMap* getIntIdentifierMap()