Re: Cinnamon 4.2, salsa and master branch
Digging a bit more:
On Thu, 19 Sep 2019, Norbert Preining wrote:
> js/ui/main.js
> which does
> Promise.all([
> AppletManager.init(),
> ExtensionSystem.init(),
> DeskletManager.init(),
> SearchProviderManager.init()
> ]).then(function() {
main.js is called from
src/cinnamon-plugin.c: gnome_cinnamon_plugin_start
if (!gjs_context_eval (gjs_context,
"imports.ui.environment.init();"
"imports.ui.main.start();",
-1,
"<main>",
&status,
&error))
The interesting part here is that cinnamon exits after an error there:
if (!gjs_context_eval (gjs_context,
"imports.ui.environment.init();"
"imports.ui.main.start();",
-1,
"<main>",
&status,
&error))
{
g_message ("Execution of main.js threw exception: %s", error->message);
g_error_free (error);
/* We just exit() here, since in a development environment you'll get the
* error in your cinnamon output, and it's way better than a busted WM,
* which typically manifests as a white screen.
*
* In production, we shouldn't crash =) But if we do, we should get
* restarted by the session infrastructure, which is likely going
* to be better than some undefined state.
*
* If there was a generic "hook into bug-buddy for non-C crashes"
* infrastructure, here would be the place to put it.
*/
exit (1);
}
Now, instead we **could** try to reload the main.start() but pass in
some arguments so that extensions etc are not loaded. I haven't tried
it, though. If that fails, we can still exit.
WDYT, is it worth looking into that?
Best
Norbert
--
PREINING Norbert http://www.preining.info
Accelia Inc. + IFMGA ProGuide + TU Wien + JAIST + TeX Live + Debian Dev
GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
Reply to: