# HG changeset patch
# User Olaf Wintermann <olaf.wintermann@gmail.com>
# Date 1718135366 -7200
# Node ID 0dcf13ba5a78222b59d898f12a0d8ac1e711f82b
# Parent  6048b20bd46f1cfb11e39218a8615100f05f5f15
fix background jobs (GTK)

diff -r 6048b20bd46f -r 0dcf13ba5a78 application/main.c
--- a/application/main.c	Tue Jun 11 21:49:13 2024 +0200
+++ b/application/main.c	Tue Jun 11 21:49:26 2024 +0200
@@ -102,7 +102,7 @@
 }
 
 void application_startup(UiEvent *event, void *data) {
-    
+      
     UiObject *obj = ui_window("Test", NULL);
     
     MyDocument *doc = create_doc();
diff -r 6048b20bd46f -r 0dcf13ba5a78 ui/gtk/toolkit.c
--- a/ui/gtk/toolkit.c	Tue Jun 11 21:49:13 2024 +0200
+++ b/ui/gtk/toolkit.c	Tue Jun 11 21:49:26 2024 +0200
@@ -185,8 +185,10 @@
 static void* ui_jobthread(void *data) {
     UiJob *job = data;
     int result = job->job_func(job->job_data);
-    if(!result) {
+    if(!result && job->finish_callback) {
         g_idle_add(ui_job_finished, job);
+    } else {
+        free(job);
     }
     return NULL;
 }