--- 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) {