Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-07-01 06:51:13 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-07-01 06:51:13 +0300
commitfc10a5cf9e008343ecb925fdb87a4faa18918359 (patch)
tree7d96773f75f66a5203391b64cf32c4073b975deb /source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c
parent1a5e1273c1cb220daa9ce68a200cbae412d19321 (diff)
Fix T66229: gizmos overlap when switching modes
Diffstat (limited to 'source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c')
-rw-r--r--source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c b/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c
index 40d99ce8ba6..50c98630a16 100644
--- a/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c
+++ b/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c
@@ -927,6 +927,15 @@ wmGizmoGroup *WM_gizmomaptype_group_init_runtime_with_region(wmGizmoMapType *gzm
wmGizmoGroup *gzgroup = wm_gizmogroup_new_from_type(gzmap, gzgt);
+ /* Don't allow duplicates when switching modes for e.g. see: T66229. */
+ LISTBASE_FOREACH (wmGizmoGroup *, gzgroup_iter, &gzmap->groups) {
+ if (gzgroup_iter->type == gzgt) {
+ if (gzgroup_iter != gzgroup) {
+ WM_gizmo_group_tag_remove(gzgroup_iter);
+ }
+ }
+ }
+
wm_gizmomap_highlight_set(gzmap, NULL, NULL, 0);
ED_region_tag_redraw(ar);