From 822c26f70911573f701d1a009e4d241d285a1b08 Mon Sep 17 00:00:00 2001 From: Jehan Date: Thu, 23 Oct 2025 01:52:51 +0200 Subject: [PATCH] Issue #14463: is_dirty() returns wrong value for newly loaded image. I've been hesitating because we can consider this an API behavior change. On the other hand, it just feels like an obvious bug. It makes sense that all images loaded with gimp_file_load() are loaded clean and without any undo history. So let's just fix it. --- app/pdb/file-cmds.c | 5 +++++ pdb/groups/file.pdb | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/app/pdb/file-cmds.c b/app/pdb/file-cmds.c index b30e299400..6c1b89600d 100644 --- a/app/pdb/file-cmds.c +++ b/app/pdb/file-cmds.c @@ -32,6 +32,7 @@ #include "pdb-types.h" #include "core/gimp.h" +#include "core/gimpimage-undo.h" #include "core/gimpimage.h" #include "core/gimplayer.h" #include "core/gimpparamspecs.h" @@ -122,6 +123,10 @@ file_load_invoker (GimpProcedure *procedure, if (! gimp_image_get_file (image)) gimp_image_set_imported_file (image, file); + + gimp_image_clean_all (image); + gimp_image_undo_disable (image); + gimp_image_undo_enable (image); } } diff --git a/pdb/groups/file.pdb b/pdb/groups/file.pdb index 921900ad10..25d49e88b8 100644 --- a/pdb/groups/file.pdb +++ b/pdb/groups/file.pdb @@ -114,6 +114,10 @@ HELP if (! gimp_image_get_file (image)) gimp_image_set_imported_file (image, file); + + gimp_image_clean_all (image); + gimp_image_undo_disable (image); + gimp_image_undo_enable (image); } } @@ -441,6 +445,7 @@ CODE @headers = qw("core/gimp.h" + "core/gimpimage-undo.h" "plug-in/gimppluginmanager-file.h" "file/file-open.h" "file/file-save.h"