webengine/osswebengine/WebCore/loader/icon/IconDatabase.cpp
changeset 10 a359256acfc6
parent 5 10e98eab6f85
child 47 e1bea15f9a39
--- a/webengine/osswebengine/WebCore/loader/icon/IconDatabase.cpp	Fri Jul 03 15:54:40 2009 +0100
+++ b/webengine/osswebengine/WebCore/loader/icon/IconDatabase.cpp	Thu Aug 27 07:44:59 2009 +0300
@@ -92,10 +92,13 @@
 }
 #endif
 
+static IconDatabaseClient* defaultClientObj;
 static IconDatabaseClient* defaultClient() 
 {
-    static IconDatabaseClient* defaultClient = new IconDatabaseClient();
-    return defaultClient;
+    if( !defaultClientObj ) {
+        defaultClientObj = new IconDatabaseClient();
+    }
+    return defaultClientObj;
 }
 
 IconDatabase* iconDatabase()
@@ -250,12 +253,15 @@
     }
     m_retainedPageURLs.clear();
     
-    delete m_client;
-    delete sharedIconDatabase;
     m_syncLock.~Mutex();
     m_urlAndIconLock.~Mutex();
     m_pendingSyncLock.~Mutex();
     m_pendingReadingLock.~Mutex();
+        
+    delete m_client;
+    defaultClientObj = NULL;
+    delete sharedIconDatabase;
+    sharedIconDatabase = NULL;
 #endif
 }