From 8f15193b403fe7caa725096ef21ef88684b975f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 1 Nov 2017 19:21:31 +0100 Subject: [PATCH] messageTray: Split out policy creation The _createPolicy() method of a subclass usually depends on some constructor parameters that need to be set before chaining up to the parent. This works fine with Lang.Class, but will break with ES6 classes, as "this" is only initialized after chaining up. Prepare for this by not creating the policy in the constructor, but when it is first accessed. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/350 --- js/ui/messageTray.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index fc4e00c9d..7ce977f47 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -701,7 +701,13 @@ var Source = new Lang.Class({ this.notifications = []; - this.policy = this._createPolicy(); + this._policy = null; + }, + + get policy() { + if (!this._policy) + this._policy = this._createPolicy(); + return this._policy; }, get count() {