1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-02-21 22:45:44 +01:00

Add util.weakReference that won't crash if you pass null.

This commit is contained in:
Kris Maglione
2011-10-01 23:02:00 -04:00
parent c9583ac72f
commit 84a68bff9a
12 changed files with 25 additions and 15 deletions

View File

@@ -205,7 +205,7 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
registerObserver: function registerObserver(type, callback, weak) {
if (!(type in this._observers))
this._observers[type] = [];
this._observers[type].push(weak ? Cu.getWeakReference(callback) : { get: function () callback });
this._observers[type].push(weak ? util.weakReference(callback) : { get: function () callback });
},
registerObservers: function registerObservers(obj, prop) {

View File

@@ -50,8 +50,8 @@ var EventHive = Class("EventHive", Contexts.Hive, {
var [self, events] = this._events(event, callback);
for (let [event, callback] in Iterator(events)) {
let args = [Cu.getWeakReference(target),
self ? Cu.getWeakReference(self) : { get: function () null },
let args = [util.weakReference(target),
util.weakReference(self),
event,
this.wrapListener(callback, self),
capture,

View File

@@ -65,7 +65,7 @@ var Marks = Module("marks", {
let mark = this.Mark();
if (Marks.isURLMark(name)) {
mark.tab = Cu.getWeakReference(tabs.getTab());
mark.tab = util.weakReference(tabs.getTab());
this._urlMarks.set(name, mark);
var message = "mark.addURL";
}

View File

@@ -333,7 +333,7 @@ var Modes = Module("modes", {
if (!(id in this.boundProperties))
for (let elem in array.iterValues(this._modeStack))
elem.saved[id] = { obj: obj, prop: prop, value: obj[prop], test: test };
this.boundProperties[id] = { obj: Cu.getWeakReference(obj), prop: prop, test: test };
this.boundProperties[id] = { obj: util.weakReference(obj), prop: prop, test: test };
},
inSet: false,