| Index: lib/filterStorage.js | 
| =================================================================== | 
| --- a/lib/filterStorage.js | 
| +++ b/lib/filterStorage.js | 
| @@ -361,16 +361,17 @@ let FilterStorage = exports.FilterStorag | 
| * @param {nsIFile} [sourceFile] File to read from | 
| */ | 
| loadFromDisk: function(sourceFile) | 
| { | 
| if (this._loading) | 
| return; | 
| TimeLine.enter("Entered FilterStorage.loadFromDisk()"); | 
| + this._loading = true; | 
| let readFile = function(sourceFile, backupIndex) | 
| { | 
| TimeLine.enter("FilterStorage.loadFromDisk() -> readFile()"); | 
| let parser = new INIParser(); | 
| IO.readFromFile(sourceFile, true, parser, function(e) | 
| { | 
| @@ -446,44 +447,38 @@ let FilterStorage = exports.FilterStorag | 
| FilterNotifier.triggerListeners("load"); | 
| if (sourceFile != this.sourceFile) | 
| this.saveToDisk(); | 
| TimeLine.leave("FilterStorage.loadFromDisk() read callback done"); | 
| }.bind(this); | 
| - let startRead = function(file) | 
| - { | 
| - this._loading = true; | 
| - readFile(file, 0); | 
| - }.bind(this); | 
| - | 
| let explicitFile; | 
| if (sourceFile) | 
| { | 
| explicitFile = true; | 
| - startRead(sourceFile); | 
| + readFile(sourceFile, 0); | 
| } | 
| else | 
| { | 
| explicitFile = false; | 
| sourceFile = FilterStorage.sourceFile; | 
| let callback = function(e, statData) | 
| { | 
| if (e || !statData.exists) | 
| { | 
| this.firstRun = true; | 
| this._loading = false; | 
| FilterNotifier.triggerListeners("load"); | 
| TimeLine.leave("FilterStorage.loadFromDisk() read callback done"); | 
| } | 
| - startRead(sourceFile); | 
| + readFile(sourceFile, 0); | 
| } | 
| if (sourceFile) | 
| IO.statFile(sourceFile, callback); | 
| else | 
| callback(true); | 
| } |