From 77819d77d2d76e28d1f42858582a28b7651b9a77 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Fri, 17 Oct 2025 10:16:49 +0200 Subject: [PATCH] Fix #146251: Moving masks via transform system does not update gizmos Oversight in 4bede1b555ae `transformApply` / `transformEnd` already gives us a `NC_MASK | NA_EDITED` notifier (via `viewRedrawForce`), so listen to that in `image_main_region_listener`. NOTE: alternatively, we could send an appropriate notifier in `special_aftertrans_update__mask` (or remove the condition from the one that is already there), with the difference that the gizmo would only update after the transform is confirmed -- which may or may not be desired Pull Request: https://projects.blender.org/blender/blender/pulls/146292 --- source/blender/editors/space_image/space_image.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/blender/editors/space_image/space_image.cc b/source/blender/editors/space_image/space_image.cc index c6cfca0830e..b89f15fd8b7 100644 --- a/source/blender/editors/space_image/space_image.cc +++ b/source/blender/editors/space_image/space_image.cc @@ -814,7 +814,10 @@ static void image_main_region_listener(const wmRegionListenerParams *params) WM_gizmomap_tag_refresh(region->runtime->gizmo_map); break; case NC_MASK: - if (ELEM(wmn->data, ND_DATA, ND_SELECT)) { + if (wmn->action == NA_EDITED) { + WM_gizmomap_tag_refresh(region->runtime->gizmo_map); + } + else if (ELEM(wmn->data, ND_DATA, ND_SELECT)) { WM_gizmomap_tag_refresh(region->runtime->gizmo_map); } break;