ui/qt/toolkit.cpp

changeset 108
77254bd6dccb
parent 103
6606616eca9f
child 110
c00e968d018b
--- a/ui/qt/toolkit.cpp	Sat Apr 05 17:57:04 2025 +0200
+++ b/ui/qt/toolkit.cpp	Sun Jul 20 22:04:39 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) {
@@ -137,6 +147,7 @@
     e.window = obj->window;
     e.document = obj->ctx->document;
     e.eventdata = NULL;
+    e.eventdatatype = 0;
     e.intval = 0;
     e.set = ui_get_setop();
     if(prepare_event) {
@@ -174,6 +185,7 @@
     e.window = obj->window;
     e.document = obj->ctx->document;
     e.eventdata = NULL;
+    e.eventdatatype = 0;
     e.intval = 0;
     e.set = ui_get_setop();
     if(prepare_event) {

mercurial