diff --git a/gui/ocarina.c b/gui/ocarina.c index 43ad4200..c9e0ff9d 100644 --- a/gui/ocarina.c +++ b/gui/ocarina.c @@ -76,26 +76,22 @@ static void __ocarina_startup(GApplication *application, gpointer data) static void __ocarina_shutdown(GApplication *application, gpointer data) { idle_cancel(); + core_deinit(); + + gui_window_deinit(); + gui_settings_deinit(); + gui_builder_deinit(); } int main(int argc, char **argv) { - GtkApplication *ocarina; - int ret; + GtkApplication *ocarina = gtk_application_new(OCARINA_NAME, OCARINA_FLAGS); startup_argc = argc; startup_argv = argv; - ocarina = gtk_application_new(OCARINA_NAME, OCARINA_FLAGS); g_signal_connect(G_APPLICATION(ocarina), "activate", (GCallback)__ocarina_activate, NULL); g_signal_connect(G_APPLICATION(ocarina), "startup", (GCallback)__ocarina_startup, NULL); g_signal_connect(G_APPLICATION(ocarina), "shutdown", (GCallback)__ocarina_shutdown, NULL); - ret = g_application_run(G_APPLICATION(ocarina), argc, argv); - - core_deinit(); - gui_window_deinit(); - gui_settings_deinit(); - gui_builder_deinit(); - - return ret; + return g_application_run(G_APPLICATION(ocarina), argc, argv); }