From 358133e82f6afbc93204555dde0100666af9222b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 13 Jun 2017 04:24:12 +0200 Subject: [PATCH] Initialize properties in _init() While we've always considered it good style to initialize JS properties, some code that relies on uninitialized properties having an implicit value of 'undefined' has slipped in over time. The updated SpiderMonkey version used by gjs now warns when accessing those properties, so we should make sure that they are properly initialized to avoid log spam, even though all warnings addressed here occur in conditionals that produce the correct result with 'undefined'. https://bugzilla.gnome.org/show_bug.cgi?id=781471 --- js/gdm/util.js | 4 ++++ js/ui/appDisplay.js | 3 +++ js/ui/lookingGlass.js | 1 + js/ui/messageList.js | 7 +++++++ js/ui/remoteSearch.js | 1 + js/ui/status/network.js | 1 + js/ui/workspace.js | 1 + 7 files changed, 18 insertions(+) diff --git a/js/gdm/util.js b/js/gdm/util.js index 83ad42234..667bbf14a 100644 --- a/js/gdm/util.js +++ b/js/gdm/util.js @@ -128,6 +128,9 @@ const ShellUserVerifier = new Lang.Class({ this._client = client; + this._defaultService = null; + this._preemptingService = null; + this._settings = new Gio.Settings({ schema_id: LOGIN_SCREEN_SCHEMA }); this._settings.connect('changed', Lang.bind(this, this._updateDefaultService)); @@ -140,6 +143,7 @@ const ShellUserVerifier = new Lang.Class({ // at startup should result in immediately initiating authentication. // This is different than fingerprint readers, where we only check them // after a user has been picked. + this.smartcardDetected = false; this._checkForSmartcard(); this._smartcardInsertedId = this._smartcardManager.connect('smartcard-inserted', diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index c9541b479..b3970aef8 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -1090,6 +1090,8 @@ const AppSearchProvider = new Lang.Class({ _init: function() { this._appSys = Shell.AppSystem.get_default(); this.id = 'applications'; + this.isRemoteProvider = false; + this.canLaunchSearch = false; }, getResultMetas: function(apps, callback) { @@ -1258,6 +1260,7 @@ const FolderIcon = new Lang.Class({ _init: function(id, path, parentView) { this.id = id; + this.name = ''; this._parentView = parentView; this._folder = new Gio.Settings({ schema_id: 'org.gnome.desktop.app-folders.folder', diff --git a/js/ui/lookingGlass.js b/js/ui/lookingGlass.js index bb06c1bcd..ad33290bf 100644 --- a/js/ui/lookingGlass.js +++ b/js/ui/lookingGlass.js @@ -783,6 +783,7 @@ const LookingGlass = new Lang.Class({ this._open = false; + this._it = null; this._offset = 0; this._results = []; diff --git a/js/ui/messageList.js b/js/ui/messageList.js index 8175711ba..99fd09fd9 100644 --- a/js/ui/messageList.js +++ b/js/ui/messageList.js @@ -165,6 +165,11 @@ const ScaleLayout = new Lang.Class({ Name: 'ScaleLayout', Extends: Clutter.BinLayout, + _init: function(params) { + this._container = null; + this.parent(params); + }, + _connectContainer: function(container) { if (this._container == container) return; @@ -299,6 +304,8 @@ const Message = new Lang.Class({ _init: function(title, body) { this.expanded = false; + this._useBodyMarkup = false; + this.actor = new St.Button({ style_class: 'message', accessible_role: Atk.Role.NOTIFICATION, can_focus: true, diff --git a/js/ui/remoteSearch.js b/js/ui/remoteSearch.js index 4f376bc31..dab2ad1d8 100644 --- a/js/ui/remoteSearch.js +++ b/js/ui/remoteSearch.js @@ -200,6 +200,7 @@ const RemoteSearchProvider = new Lang.Class({ this.appInfo = appInfo; this.id = appInfo.get_id(); this.isRemoteProvider = true; + this.canLaunchSearch = false; }, createIcon: function(size, meta) { diff --git a/js/ui/status/network.js b/js/ui/status/network.js index e86e89fab..19c689b0c 100644 --- a/js/ui/status/network.js +++ b/js/ui/status/network.js @@ -1709,6 +1709,7 @@ const NMApplet = new Lang.Class({ this._mainConnection = null; this._mainConnectionIconChangedId = 0; + this._mainConnectionStateChangedId = 0; this._notification = null; diff --git a/js/ui/workspace.js b/js/ui/workspace.js index bcde53d3f..630e2f674 100644 --- a/js/ui/workspace.js +++ b/js/ui/workspace.js @@ -1100,6 +1100,7 @@ const Workspace = new Lang.Class({ _init : function(metaWorkspace, monitorIndex) { // When dragging a window, we use this slot for reserve space. this._reservedSlot = null; + this._reservedSlotWindow = null; this.metaWorkspace = metaWorkspace; // The full geometry is the geometry we should try and position