[Bf-blender-cvs] [c02c355] wiggly-widgets: Fix widget select flag not unset when selecting different widget

Julian Eisel noreply at git.blender.org
Sun Nov 15 22:39:51 CET 2015


Commit: c02c355a0c097abf8890a33d62d21034d3eb8921
Author: Julian Eisel
Date:   Sun Nov 15 22:38:58 2015 +0100
Branches: wiggly-widgets
https://developer.blender.org/rBc02c355a0c097abf8890a33d62d21034d3eb8921

Fix widget select flag not unset when selecting different widget

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

M	source/blender/windowmanager/intern/wm_widgets.c

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

diff --git a/source/blender/windowmanager/intern/wm_widgets.c b/source/blender/windowmanager/intern/wm_widgets.c
index bd3a030..37bae38 100644
--- a/source/blender/windowmanager/intern/wm_widgets.c
+++ b/source/blender/windowmanager/intern/wm_widgets.c
@@ -1055,6 +1055,11 @@ void wm_widgetmap_set_selected_widget(bContext *C, wmWidgetMap *wmap, wmWidget *
 {
 	const int action = SEL_SELECT; /* TODO currently SEL_SELECT only */
 
+	/* unset select flag of old selection first */
+	if (wmap->wmap_context.selected_widget) {
+		wmap->wmap_context.selected_widget->flag &= ~WM_WIDGET_SELECTED;
+	}
+
 	if (widget) {
 		wmap->wmap_context.selected_widget = widget;
 		widget->flag |= WM_WIDGET_SELECTED;
@@ -1063,12 +1068,8 @@ void wm_widgetmap_set_selected_widget(bContext *C, wmWidgetMap *wmap, wmWidget *
 		}
 		wm_widgetmap_set_highlighted_widget(wmap, C, NULL, wmap->wmap_context.highlighted_widget->highlighted_part);
 	}
-	else {
-		widget = wmap->wmap_context.selected_widget;
-		if (widget) {
-			wmap->wmap_context.selected_widget = NULL;
-			widget->flag &= ~WM_WIDGET_SELECTED;
-		}
+	else if (wmap->wmap_context.selected_widget) {
+		wmap->wmap_context.selected_widget = NULL;
 	}
 
 	/* tag the region for redraw */




More information about the Bf-blender-cvs mailing list