Title: [92021] branches/chromium/835/Source/WebCore
Revision
92021
Author
[email protected]
Date
2011-07-29 15:16:22 -0700 (Fri, 29 Jul 2011)

Log Message

Merge 91721
BUG=88944
Review URL: http://codereview.chromium.org/7457026

Modified Paths

Diff

Modified: branches/chromium/835/Source/WebCore/platform/leveldb/LevelDBDatabase.cpp (92020 => 92021)


--- branches/chromium/835/Source/WebCore/platform/leveldb/LevelDBDatabase.cpp	2011-07-29 22:16:14 UTC (rev 92020)
+++ branches/chromium/835/Source/WebCore/platform/leveldb/LevelDBDatabase.cpp	2011-07-29 22:16:22 UTC (rev 92021)
@@ -93,6 +93,9 @@
 
 LevelDBDatabase::~LevelDBDatabase()
 {
+    // m_db's destructor uses m_comparatorAdapter; order of deletion is important.
+    m_db.clear();
+    m_comparatorAdapter.clear();
 }
 
 PassOwnPtr<LevelDBDatabase> LevelDBDatabase::open(const String& fileName, const LevelDBComparator* comparator)

Modified: branches/chromium/835/Source/WebCore/storage/IDBLevelDBBackingStore.cpp (92020 => 92021)


--- branches/chromium/835/Source/WebCore/storage/IDBLevelDBBackingStore.cpp	2011-07-29 22:16:14 UTC (rev 92020)
+++ branches/chromium/835/Source/WebCore/storage/IDBLevelDBBackingStore.cpp	2011-07-29 22:16:22 UTC (rev 92021)
@@ -126,6 +126,10 @@
 IDBLevelDBBackingStore::~IDBLevelDBBackingStore()
 {
     m_factory->removeIDBBackingStore(m_identifier);
+
+    // m_db's destructor uses m_comparator. The order of destruction is important.
+    m_db.clear();
+    m_comparator.clear();
 }
 
 PassRefPtr<IDBBackingStore> IDBLevelDBBackingStore::open(SecurityOrigin* securityOrigin, const String& pathBaseArg, int64_t maximumSize, const String& fileIdentifier, IDBFactoryBackendImpl* factory)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to