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:
@@ -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) {
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user