meta_quit: ignore repeated calls after it's already quitting
meta_run() calls meta_finalize() after the main loop exits, which ends up calling meta_display_close(), which calls meta_quit(META_EXIT_SUCCESS), meaning that any exit status passed to the original meta_quit() call is lost. Fix this by ignoring meta_quit() calls after the main loop is no longer running. https://bugzilla.gnome.org/show_bug.cgi?id=652010
This commit is contained in:
parent
9804841adb
commit
c70087db0c
@ -571,11 +571,12 @@ meta_run (void)
|
|||||||
void
|
void
|
||||||
meta_quit (MetaExitCode code)
|
meta_quit (MetaExitCode code)
|
||||||
{
|
{
|
||||||
meta_exit_code = code;
|
|
||||||
|
|
||||||
if (g_main_loop_is_running (meta_main_loop))
|
if (g_main_loop_is_running (meta_main_loop))
|
||||||
|
{
|
||||||
|
meta_exit_code = code;
|
||||||
g_main_loop_quit (meta_main_loop);
|
g_main_loop_quit (meta_main_loop);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called on pref changes. (One of several functions of its kind and purpose.)
|
* Called on pref changes. (One of several functions of its kind and purpose.)
|
||||||
|
Loading…
Reference in New Issue
Block a user