--- 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
}