From 919cebb0bcd44170a7dd773717eefa1e515d628c Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 18 Sep 2008 09:44:01 +0200 Subject: [PATCH] quit with g_main_loop_quit() Call g_main_loop_quit() on CMD_QUIT, instead of exit() with an atexit() handler. --- src/main.c | 8 +++++--- src/screen.c | 2 -- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main.c b/src/main.c index f29ce67..c8b22df 100644 --- a/src/main.c +++ b/src/main.c @@ -263,6 +263,11 @@ keyboard_event(mpd_unused GIOChannel *source, g_source_remove(idle_source_id); if ((cmd=get_keyboard_command()) != CMD_NONE) { + if (cmd == CMD_QUIT) { + g_main_loop_quit(main_loop); + return FALSE; + } + screen_cmd(mpd, cmd); if (cmd == CMD_VOLUME_UP || cmd == CMD_VOLUME_DOWN) { @@ -378,9 +383,6 @@ main(int argc, const char *argv[]) exit(EXIT_FAILURE); } - /* install exit function */ - atexit(exit_and_cleanup); - ncurses_init(); lyrics_init(); diff --git a/src/screen.c b/src/screen.c index 479b1de..e0fa3e1 100644 --- a/src/screen.c +++ b/src/screen.c @@ -954,8 +954,6 @@ screen_cmd(mpdclient_t *c, command_t cmd) case CMD_SCREEN_LYRICS: switch_screen_mode(SCREEN_LYRICS_ID, c); break; - case CMD_QUIT: - exit(EXIT_SUCCESS); default: break; } -- 2.30.2