Commit: c5c46e5b74a0c52f042d7fb61d3e4b401110cc5e
Author: Harley Acheson
Date:   Wed Jan 22 14:00:08 2020 -0800
Branches: master
https://developer.blender.org/rBc5c46e5b74a0c52f042d7fb61d3e4b401110cc5e

UI: Fix Hover Flickering on Selected Items

Removes hover highlight from already-selected UI items to remove unintended 
flickering.

Differential Revision: https://developer.blender.org/D6503

Reviewed by Campbell Barton

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

M       source/blender/editors/interface/interface_widgets.c

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

diff --git a/source/blender/editors/interface/interface_widgets.c 
b/source/blender/editors/interface/interface_widgets.c
index d313310bfa1..fd2f652d40e 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -2662,10 +2662,14 @@ static void widget_state(uiWidgetType *wt, int state, 
int drawflag)
     if (color_blend != NULL) {
       color_blend_v3_v3(wt->wcol.inner, color_blend, wcol_state->blend);
     }
-  }
 
-  if (state & UI_ACTIVE) {
-    widget_active_color(&wt->wcol);
+    /* Add "hover" highlight. Ideally this could apply in all cases,
+     * even if UI_SELECT. But currently this causes some flickering
+     * as buttons can be created and updated without respect to mouse
+     * position and so can draw without UI_ACTIVE set.  See D6503. */
+    if (state & UI_ACTIVE) {
+      widget_active_color(&wt->wcol);
+    }
   }
 
   if (state & UI_BUT_REDALERT) {

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to