ae2751a68b
Commit 6c2f3d1d178a65d moved pref overrides into JS to implement session mode specific overrides in a clean and generic way. However that approach comes with a cost - doing the overrides only after having handled over control to JS means that the core will be initialized with the non-overridden settings before changing to the correct values. In the best case this is unnecessary work, but it can in fact have a worse effect: when initializing workspaces, we will restore the previous number of workspaces when using dynamic-workspaces and reset to the configured number otherwise. As the non-overridden default for dynamic-workspaces is FALSE, we can easily end up moving the user's windows to the "wrong" workspace. Now GSettings is expected to grow support for session specific defaults, which will render our entire override system obsolete (yay!). Given that, it seems acceptable to use a less generic (and uglier) approach in the meanwhile, in order to fix aforementioned problems. So move overrides back before core initialization and just hardcode the session-mode => override-schema relation. https://bugzilla.gnome.org/show_bug.cgi?id=695487