Revision: 27860
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27860
Author: vekoon
Date: 2010-03-30 12:13:55 +0200 (Tue, 30 Mar 2010)
Log Message:
-----------
Bugfix for [#21582] Adjusting material color (color picker) crashes
This fixes only the crash, which was due to buffer overrun for col Hex char
buffer. It doesn't actually fix the real issue of overflowing the color values
up to infinity.
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface_regions.c
Modified: trunk/blender/source/blender/editors/interface/interface_regions.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_regions.c
2010-03-30 09:57:58 UTC (rev 27859)
+++ trunk/blender/source/blender/editors/interface/interface_regions.c
2010-03-30 10:13:55 UTC (rev 27860)
@@ -1575,6 +1575,7 @@
}
else if(strcmp(bt->str, "Hex: ")==0) {
float rgb_gamma[3];
+ double intpart;
char col[16];
/* Hex code is assumed to be in sRGB space (coming from
other applications, web, etc) */
@@ -1586,6 +1587,10 @@
linearrgb_to_srgb_v3_v3(rgb_gamma, rgb);
}
+ if (rgb_gamma[0] > 1.0f) rgb_gamma[0] =
modf(rgb_gamma[0], &intpart);
+ if (rgb_gamma[1] > 1.0f) rgb_gamma[1] =
modf(rgb_gamma[1], &intpart);
+ if (rgb_gamma[2] > 1.0f) rgb_gamma[2] =
modf(rgb_gamma[2], &intpart);
+
sprintf(col, "%02X%02X%02X", (unsigned
int)(rgb_gamma[0]*255.0), (unsigned int)(rgb_gamma[1]*255.0), (unsigned
int)(rgb_gamma[2]*255.0));
strcpy(bt->poin, col);
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs