diff --git a/toolkit/components/search/nsSearchService.js b/toolkit/components/search/nsSearchService.js index 28078357142e..d9e94cb86a91 100644 --- a/toolkit/components/search/nsSearchService.js +++ b/toolkit/components/search/nsSearchService.js @@ -3434,6 +3434,7 @@ SearchService.prototype = { this._batchTimer.cancel(); this._buildCache(); } + engineMetadataService.closeDB(); break; } }, @@ -3616,6 +3617,15 @@ var engineMetadataService = { pp.name = name; this.mDeleteData.executeStep(); this.mDeleteData.reset(); + }, + + closeDB: function epsCloseDB() { + ["mInsertData", "mDeleteData", "mGetData"].forEach(function(aStmt) { + if (Object.getOwnPropertyDescriptor(this, aStmt).value !== undefined) + this[aStmt].finalize(); + }, this); + if (Object.getOwnPropertyDescriptor(this, "mDB").value !== undefined) + this.mDB.close(); } }