diff -r e855396fd839 -r 94df16a7fff2 ui/gtk/window.c --- a/ui/gtk/window.c Sun Jan 11 15:10:20 2026 +0100 +++ b/ui/gtk/window.c Mon Jan 12 20:54:27 2026 +0100 @@ -44,6 +44,7 @@ #include "container.h" #include "headerbar.h" #include "button.h" +#include "window.h" static int nwindows = 0; @@ -80,7 +81,7 @@ g_idle_add(ui_window_destroy, data); } -static gboolean ui_window_close_request(UiObject *obj) { +gboolean ui_window_close_request(UiObject *obj) { if(obj->widget) { void *appwindow = g_object_get_data(G_OBJECT(obj->widget), "ui.appwindow"); if(appwindow) { @@ -111,7 +112,6 @@ } } - uic_context_prepare_close(obj->ctx); obj->ref--; if(obj->ref > 0) { #if GTK_CHECK_VERSION(2, 18, 0) @@ -121,6 +121,7 @@ #endif return TRUE; } else { + uic_context_prepare_close(obj->ctx); return FALSE; } }