From a0323e6f21a5970cc339c33ffa3b2f8145ac1d31 Mon Sep 17 00:00:00 2001 From: Serge Gautherie Date: Sat, 20 Sep 2008 19:41:50 +0200 Subject: [PATCH] Backed out changeset fa8fbd81159d Bug 452899 - Don't explicitly create the statement wrapper - storage does it for us; r=(dolske + sdwilsh) to try to fix leak --- toolkit/components/passwordmgr/src/storage-mozStorage.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/toolkit/components/passwordmgr/src/storage-mozStorage.js b/toolkit/components/passwordmgr/src/storage-mozStorage.js index 9753a5e990c..71fa129d160 100644 --- a/toolkit/components/passwordmgr/src/storage-mozStorage.js +++ b/toolkit/components/passwordmgr/src/storage-mozStorage.js @@ -947,7 +947,12 @@ LoginManagerStorage_mozStorage.prototype = { // Memoize the statements if (!this._dbStmts[query]) { this.log("Creating new statement for query: " + query); - this._dbStmts[query] = this._dbConnection.createStatement(query); + let stmt = this._dbConnection.createStatement(query); + + let wrappedStmt = Cc["@mozilla.org/storage/statement-wrapper;1"]. + createInstance(Ci.mozIStorageStatementWrapper); + wrappedStmt.initialize(stmt); + this._dbStmts[query] = wrappedStmt; } // Replace parameters, must be done 1 at a time if (params) @@ -1070,7 +1075,7 @@ LoginManagerStorage_mozStorage.prototype = { // Finalize all statements to free memory, avoid errors later for (let i = 0; i < this._dbStmts.length; i++) - this._dbStmts[i].finalize(); + this._dbStmts[i].statement.finalize(); this._dbStmts = []; // Close the connection, ignore 'already closed' error