From d6651706fe4c8d5a059162f958ef4745fbb0a3b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 17 Dec 2019 20:06:24 +0100 Subject: [PATCH] sessionMode: Use property spread to sync mode The parameters here come from a fixed set of mode definitions rather than a function parameter, so the additional check performed by Params.parse() isn't relevant here. Part-of: --- js/ui/sessionMode.js | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/js/ui/sessionMode.js b/js/ui/sessionMode.js index 8e30a665c..9c80532b6 100644 --- a/js/ui/sessionMode.js +++ b/js/ui/sessionMode.js @@ -4,7 +4,6 @@ import GLib from 'gi://GLib'; import * as Signals from '../misc/signals.js'; import * as FileUtils from '../misc/fileUtils.js'; -import * as Params from '../misc/params.js'; import {LoginDialog} from '../gdm/loginDialog.js'; import {UnlockDialog} from '../ui/unlockDialog.js'; @@ -191,16 +190,12 @@ export class SessionMode extends Signals.EventEmitter { } _sync() { - let params = _modes[this.currentMode]; - let defaults; - if (params.parentMode) { - defaults = Params.parse( - _modes[params.parentMode], - _modes[DEFAULT_MODE]); - } else { - defaults = _modes[DEFAULT_MODE]; - } - params = Params.parse(params, defaults); + const current = _modes[this.currentMode]; + const parent = current.parentMode + ? {..._modes[DEFAULT_MODE], ..._modes[current.parentMode]} + : {..._modes[DEFAULT_MODE]}; + + const params = {...parent, ...current}; // A simplified version of Lang.copyProperties, handles // undefined as a special case for "no change / inherit from previous mode"