messageTray: Add source policy setter

Commit 8f15193b4 changed the `policy` property from a regular JS property to
a getter. This was necessary to avoid calling an overridden _createPolicy()
method before a subclass is properly initialized, but it broke the second
way of using notification sources:

Don't create a Source subclass, but use the base class directly and change
its `policy` property.

There's no good reason why we should no longer allow this, so add a setter.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/431
This commit is contained in:
Florian Müllner 2019-03-02 20:53:33 +01:00 committed by Jonas Ådahl
parent 510b060947
commit 1c9d821aa2

View File

@ -708,6 +708,12 @@ var Source = class Source {
return this._policy; return this._policy;
} }
set policy(policy) {
if (this._policy)
this._policy.destroy();
this._policy = policy;
}
get count() { get count() {
return this.notifications.length; return this.notifications.length;
} }