diff --git a/src/gnome-shell-plugin.c b/src/gnome-shell-plugin.c index 356d5bcfa..200ae7bde 100644 --- a/src/gnome-shell-plugin.c +++ b/src/gnome-shell-plugin.c @@ -202,8 +202,20 @@ gnome_shell_plugin_constructed (GObject *object) &status, &error)) { - g_warning ("Evaling main.js failed: %s", error->message); + 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 shell 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); } }