ui/qt/toolkit.cpp

changeset 674
51670b0bc625
parent 659
d6baaa93f7be
child 795
d466b6edfebc
--- a/ui/qt/toolkit.cpp	Sun Jul 20 12:27:33 2025 +0200
+++ b/ui/qt/toolkit.cpp	Sun Jul 20 14:04:19 2025 +0200
@@ -43,15 +43,17 @@
 static ui_callback   startup_func;
 static void          *startup_data;
 static ui_callback   open_func;
-void                 *open_data;
+static void          *open_data;
 static ui_callback   exit_func;
-void                 *exit_data;
+static void          *exit_data;
 
 static int is_toplevel_realized = 0;
 
-int app_argc;
-char **app_argv;
-QApplication *application = NULL;
+static int app_argc;
+static char **app_argv;
+static QApplication *application = NULL;
+
+static UiBool exit_on_shutdown;
 
 void ui_init(const char *appname, int argc, char **argv) {
     application_name = appname;
@@ -87,6 +89,10 @@
     exit_data = userdata;
 }
 
+void ui_app_exit_on_shutdown(UiBool exitapp) {
+    exit_on_shutdown = exitapp;
+}
+
 void ui_main() {
     if(startup_func) {
         startup_func(NULL, startup_data);
@@ -98,6 +104,10 @@
     uic_store_app_properties();
     
     delete application;
+    
+    if(exit_on_shutdown) {
+        exit(0);
+    }
 }
 
 void ui_show(UiObject *obj) {

mercurial