[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Cinnamon 4.2, salsa and master branch



Il 19/09/2019 10:15, Norbert Preining ha scritto:
> 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?

Thanks for search, seems strange to me is that "simple" and upstream
wan't do it but I not have time now to check better test it.

I'll try to reask upstream linking your idea and asking if can be
working and if will be accepted upstream something like additional try
(cinnamon, if fail cinnamon without extensions/applets/desklet and if
also it fail alternative panel.

>
> 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: