| Index: lib/stats.js | 
| =================================================================== | 
| --- a/lib/stats.js | 
| +++ b/lib/stats.js | 
| @@ -37,39 +37,39 @@ let getStats = exports.getStats = functi | 
| return (key in Prefs.stats_total ? Prefs.stats_total[key] : 0); | 
|  | 
| let frameData = getFrameData(tab, 0); | 
| return (frameData && key in frameData ? frameData[key] : 0); | 
| }; | 
|  | 
| FilterNotifier.addListener(function(action, item, newValue, oldValue, tab) | 
| { | 
| -  if (action != "filter.hitCount") | 
| +  if (action != "filter.hitCount" || !tab) | 
| return; | 
| - | 
| + | 
| let blocked = item instanceof BlockingFilter; | 
| - | 
| + | 
| // Increment counts | 
| if (blocked) | 
| { | 
| if ("blocked" in Prefs.stats_total) | 
| Prefs.stats_total.blocked++; | 
| else | 
| Prefs.stats_total.blocked = 1; | 
| Prefs.stats_total = Prefs.stats_total; | 
| - | 
| + | 
| let frameData = getFrameData(tab, 0); | 
| if (frameData) | 
| { | 
| if ("blocked" in frameData) | 
| frameData.blocked++; | 
| else | 
| frameData.blocked = 1; | 
| } | 
| - | 
| + | 
| // Update number in icon | 
| if (Prefs.show_statsinicon) | 
| { | 
| tab.browserAction.setBadge({ | 
| color: badgeColor, | 
| number: frameData.blocked | 
| }); | 
| } | 
| @@ -94,17 +94,17 @@ function forEachTab(func) | 
| } | 
| }); | 
| } | 
|  | 
| Prefs.addListener(function(name) | 
| { | 
| if (name != "show_statsinicon") | 
| return; | 
| - | 
| + | 
| forEachTab(function(tab) | 
| { | 
| let badge = null; | 
| if (Prefs.show_statsinicon) | 
| { | 
| let frameData = getFrameData(tab, 0); | 
| if (frameData && "blocked" in frameData) | 
| { | 
|  |