From b2867d436585bf7ff92f1d7e9a0de9bb5ede006b Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Tue, 4 Jan 2022 10:03:31 +0100 Subject: Fix T94599: Assert on usercount when deleting image created via operator. `IMAGE_OT_new` operator would not properly clear the by-default one user generated by 'new id' code, in case it could not tie the image to anything. --- source/blender/editors/space_image/image_ops.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/blender/editors/space_image/image_ops.c b/source/blender/editors/space_image/image_ops.c index b72fe40d510..23d07c9b45b 100644 --- a/source/blender/editors/space_image/image_ops.c +++ b/source/blender/editors/space_image/image_ops.c @@ -2595,6 +2595,11 @@ static int image_new_exec(bContext *C, wmOperator *op) else if (sima) { ED_space_image_set(bmain, sima, ima, false); } + else { + /* #BKE_image_add_generated creates one user by default, remove it if image is not linked to + * anything. ref. T94599. */ + id_us_min(&ima->id); + } BKE_image_signal(bmain, ima, (sima) ? &sima->iuser : NULL, IMA_SIGNAL_USER_NEW_IMAGE); -- cgit v1.2.3