[Bf-blender-cvs] [c5c46e5b74a] master: UI: Fix Hover Flickering on Selected Items
Harley Acheson
noreply at git.blender.org
Wed Jan 22 23:02:12 CET 2020
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) {
More information about the Bf-blender-cvs
mailing list