[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42798] trunk/blender/source/blender/ editors/interface: Fix #29670: color picker draw issues with RGB values out of soft range.

Brecht Van Lommel brechtvanlommel at pandora.be
Wed Dec 21 14:49:23 CET 2011


Revision: 42798
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42798
Author:   blendix
Date:     2011-12-21 13:49:22 +0000 (Wed, 21 Dec 2011)
Log Message:
-----------
Fix #29670: color picker draw issues with RGB values out of soft range.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface.c
    trunk/blender/source/blender/editors/interface/interface_handlers.c
    trunk/blender/source/blender/editors/interface/interface_widgets.c

Modified: trunk/blender/source/blender/editors/interface/interface.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface.c	2011-12-21 13:48:51 UTC (rev 42797)
+++ trunk/blender/source/blender/editors/interface/interface.c	2011-12-21 13:49:22 UTC (rev 42798)
@@ -1901,7 +1901,7 @@
 			if(softmin < (double)but->hardmin)
 				softmin= (double)but->hardmin;
 		}
-		else if(value_max-1e-10 > softmax) {
+		if(value_max-1e-10 > softmax) {
 			if(value_max < 0.0)
 				softmax= -soft_range_round_down(-value_max, -softmax);
 			else

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c	2011-12-21 13:48:51 UTC (rev 42797)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c	2011-12-21 13:49:22 UTC (rev 42798)
@@ -5247,7 +5247,7 @@
 		   highlight when not in a popup menu, we remove because data used in
 		   button below popup might have been removed by action of popup. Needs
 		   a more reliable solution... */
-		if(state != BUTTON_STATE_HIGHLIGHT || but->block->handle)
+		if(state != BUTTON_STATE_HIGHLIGHT || (but->block->flag & UI_BLOCK_LOOP))
 			ui_check_but(but);
 	}
 

Modified: trunk/blender/source/blender/editors/interface/interface_widgets.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_widgets.c	2011-12-21 13:48:51 UTC (rev 42797)
+++ trunk/blender/source/blender/editors/interface/interface_widgets.c	2011-12-21 13:49:22 UTC (rev 42798)
@@ -1795,7 +1795,7 @@
 {
 	/* gouraud triangle fan */
 	float radstep, ang= 0.0f;
-	float centx, centy, radius;
+	float centx, centy, radius, cursor_radius;
 	float rgb[3], hsvo[3], hsv[3], col[3], colcent[3];
 	int a, tot= 32;
 	int color_profile = but->block->color_profile;
@@ -1864,12 +1864,12 @@
 	ang= 2.0f*(float)M_PI*hsvo[0] + 0.5f*(float)M_PI;
 
 	if(but->flag & UI_BUT_COLOR_CUBIC)
-		radius= (1.0f - powf(1.0f - hsvo[1], 3.0f)) *radius;
+		cursor_radius = (1.0f - powf(1.0f - hsvo[1], 3.0f));
 	else
-		radius= hsvo[1] * radius;
+		cursor_radius = hsvo[1];
 
+	radius= CLAMPIS(cursor_radius, 0.0f, 1.0f) * radius;
 	ui_hsv_cursor(centx + cosf(-ang)*radius, centy + sinf(-ang)*radius);
-	
 }
 
 /* ************ custom buttons, old stuff ************** */




More information about the Bf-blender-cvs mailing list