From ce5e7ab42e17e4395ea53268c330d40a4cd53e06 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 22 Jul 2026 11:16:03 +0300 Subject: Fix minimal CI lane (gegl=disabled): move _proceed_* out of the GEGL guard The _proceed_prev/next/first/last helpers are trivial wrappers over the public ggaze_window navigation API and do not depend on GEGL, but were defined only inside the #if GGAZE_HAVE_GEGL block. The always-compiled _action_prev/next/first/last handlers reference them via _maybe_save_then, so the gegl=disabled (minimal) lane failed with '_proceed_prev undeclared' (regression introduced by the enhance save-dialog commit, before M8 marks). Move the four helpers out of the GEGL guard so they are always compiled. Verified: meson setup build-min -Dgegl=disabled -Djxl=disabled -Davif=disabled -Dheif=disabled && ninja -C build-min && meson test -C build-min (23/23 OK); default gegl=enabled lane still 24/24 OK. --- src/window.c | 45 +++++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 20 deletions(-) (limited to 'src/window.c') diff --git a/src/window.c b/src/window.c index 26beb57..2288bca 100644 --- a/src/window.c +++ b/src/window.c @@ -77,6 +77,31 @@ static void _enhance_panel_reparent(GgazeWindow *p_win, gboolean b_overlay); static gboolean _enhance_do_save(GgazeWindow *p_win); #endif +/* Navigation continuations used by _maybe_save_then after the (GEGL) save + * /discard dialog resolves. They are trivial wrappers over the public + * navigation API and do not depend on GEGL, so they are always compiled + * (the _action_prev/next/first/last handlers reference them regardless of + * the GEGL build configuration). */ +static gboolean +_proceed_prev(gpointer d) { + ggaze_window_prev(GGAZE_WINDOW(d)); + return (G_SOURCE_REMOVE); +} +static gboolean +_proceed_next(gpointer d) { + ggaze_window_next(GGAZE_WINDOW(d)); + return (G_SOURCE_REMOVE); +} +static gboolean +_proceed_first(gpointer d) { + ggaze_window_first(GGAZE_WINDOW(d)); + return (G_SOURCE_REMOVE); +} +static gboolean +_proceed_last(gpointer d) { + ggaze_window_last(GGAZE_WINDOW(d)); + return (G_SOURCE_REMOVE); +} #if GGAZE_HAVE_GEGL /* Export the current image with the enabled-preset chain to * -enhanced.. Returns TRUE on success; prints the saved name. */ @@ -194,26 +219,6 @@ _maybe_save_then(GgazeWindow *p_win, GSourceFunc fn, gpointer data) { p_ctx); } -static gboolean -_proceed_prev(gpointer d) { - ggaze_window_prev(GGAZE_WINDOW(d)); - return (G_SOURCE_REMOVE); -} -static gboolean -_proceed_next(gpointer d) { - ggaze_window_next(GGAZE_WINDOW(d)); - return (G_SOURCE_REMOVE); -} -static gboolean -_proceed_first(gpointer d) { - ggaze_window_first(GGAZE_WINDOW(d)); - return (G_SOURCE_REMOVE); -} -static gboolean -_proceed_last(gpointer d) { - ggaze_window_last(GGAZE_WINDOW(d)); - return (G_SOURCE_REMOVE); -} #else /* !GGAZE_HAVE_GEGL */ static void _maybe_save_then(GgazeWindow *p_win, GSourceFunc fn, gpointer data) { -- cgit v1.2.3