[Bf-blender-cvs] [6b7e5b35bcb] blender-v2.82-release: Fix T73135: Gizmos flicker when changing viewport options

Campbell Barton noreply at git.blender.org
Fri Jan 17 09:06:25 CET 2020


Commit: 6b7e5b35bcbfbd603573bff5761347d4bf0bda2a
Author: Campbell Barton
Date:   Fri Jan 17 18:58:50 2020 +1100
Branches: blender-v2.82-release
https://developer.blender.org/rB6b7e5b35bcbfbd603573bff5761347d4bf0bda2a

Fix T73135: Gizmos flicker when changing viewport options

===================================================================

M	source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c

===================================================================

diff --git a/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c b/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c
index 73bee883cf8..14657bfa6bd 100644
--- a/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c
+++ b/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c
@@ -33,6 +33,7 @@
 
 #include "BLI_buffer.h"
 #include "BLI_listbase.h"
+#include "BLI_rect.h"
 #include "BLI_string.h"
 
 #include "BKE_context.h"
@@ -1154,7 +1155,10 @@ void WM_gizmo_group_refresh(const bContext *C, wmGizmoGroup *gzgroup)
     wmGizmo *gz = wm_gizmomap_highlight_get(gzmap);
     if (!gz || gz->parent_gzgroup != gzgroup) {
       wmWindow *win = CTX_wm_window(C);
-      if (win->tweak) {
+      ARegion *ar = CTX_wm_region(C);
+      BLI_assert(ar->gizmo_map == gzmap);
+      /* Check if the tweak event originated from this region. */
+      if ((win->tweak != NULL) && BLI_rcti_compare(&ar->winrct, &win->tweak->winrct)) {
         /* We need to run refresh again. */
         gzgroup->init_flag &= ~WM_GIZMOGROUP_INIT_REFRESH;
         WM_gizmomap_tag_refresh_drawstep(gzmap, WM_gizmomap_drawstep_from_gizmo_group(gzgroup));



More information about the Bf-blender-cvs mailing list