summaryrefslogtreecommitdiff
path: root/src/app.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/app.c')
-rw-r--r--src/app.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/app.c b/src/app.c
index 15fe255..2e0d4fa 100644
--- a/src/app.c
+++ b/src/app.c
@@ -35,9 +35,11 @@
#include "app.h"
#include "common/io.h"
#include "common/xdg.h"
+#include "core/core.h"
#include "core/logs.h"
#include "gui/core/core.h"
#include "gui/window.h"
+#include "plugins/pglist.h"
@@ -503,9 +505,14 @@ int main(int argc, char **argv)
set_log_verbosity(verbosity);
- if (!load_gui_components(AGC_BUFFER_FEATURES | AGC_PANELS))
+ if (!load_core_components(ACC_GLOBAL_VARS))
goto exit;
+ if (!load_gui_components(AGC_BUFFER_FEATURES | AGC_PANELS))
+ goto exit_with_core;
+
+ init_all_plugins(true);
+
ensure_wm_icon_and_name();
g_set_prgname("Chrysalide");
@@ -516,8 +523,14 @@ int main(int argc, char **argv)
g_object_unref(G_OBJECT(app));
+ exit_all_plugins();
+
unload_gui_components(AGC_BUFFER_FEATURES | AGC_PANELS);
+ exit_with_core:
+
+ unload_core_components(ACC_GLOBAL_VARS);
+
exit:
return result;