# HG changeset patch # User Olaf Wintermann # 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; }