From ff72c45ce1ad8ea0adee024d1f62a027beb8cc72 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 17 Aug 2023 14:44:44 +0200 Subject: [PATCH] Fix (unreported) missing `texuser` handling in SpaceProperties' foreach_id code. --- source/blender/editors/space_buttons/space_buttons.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/blender/editors/space_buttons/space_buttons.cc b/source/blender/editors/space_buttons/space_buttons.cc index a33cf4afa6f..ac95847bd57 100644 --- a/source/blender/editors/space_buttons/space_buttons.cc +++ b/source/blender/editors/space_buttons/space_buttons.cc @@ -922,6 +922,16 @@ static void buttons_foreach_id(SpaceLink *space_link, LibraryForeachIDData *data * data pointers too, not just ID ones. See #40046. */ MEM_SAFE_FREE(sbuts->path); } + + if (sbuts->texuser) { + ButsContextTexture *ct = static_cast(sbuts->texuser); + BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, ct->texture, IDWALK_CB_NOP); + + if (!is_readonly) { + BLI_freelistN(&ct->users); + ct->user = nullptr; + } + } } static void buttons_space_blend_read_data(BlendDataReader * /*reader*/, SpaceLink *sl)