[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58601] trunk/blender/source/blender/ editors/interface/interface.c: skip creating the draw-string for number buttons while editing the text ( value was overwritten)
Campbell Barton
ideasman42 at gmail.com
Thu Jul 25 15:24:33 CEST 2013
Revision: 58601
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58601
Author: campbellbarton
Date: 2013-07-25 13:24:32 +0000 (Thu, 25 Jul 2013)
Log Message:
-----------
skip creating the draw-string for number buttons while editing the text (value was overwritten)
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface.c
Modified: trunk/blender/source/blender/editors/interface/interface.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface.c 2013-07-25 13:18:11 UTC (rev 58600)
+++ trunk/blender/source/blender/editors/interface/interface.c 2013-07-25 13:24:32 UTC (rev 58601)
@@ -2426,36 +2426,38 @@
case NUM:
case NUMSLI:
- UI_GET_BUT_VALUE_INIT(but, value);
+ if (!but->editstr) {
+ UI_GET_BUT_VALUE_INIT(but, value);
- if (ui_is_but_float(but)) {
- if (value == (double) FLT_MAX) {
- BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%sinf", but->str);
+ if (ui_is_but_float(but)) {
+ if (value == (double) FLT_MAX) {
+ BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%sinf", but->str);
+ }
+ else if (value == (double) -FLT_MAX) {
+ BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s-inf", but->str);
+ }
+ /* support length type buttons */
+ else if (ui_is_but_unit(but)) {
+ char new_str[sizeof(but->drawstr)];
+ ui_get_but_string_unit(but, new_str, sizeof(new_str), value, TRUE, -1);
+ BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%s", but->str, new_str);
+ }
+ else {
+ const int prec = ui_but_float_precision(but, value);
+ BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%.*f", but->str, prec, value);
+ }
}
- else if (value == (double) -FLT_MAX) {
- BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s-inf", but->str);
+ else {
+ BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%d", but->str, (int)value);
}
- /* support length type buttons */
- else if (ui_is_but_unit(but)) {
- char new_str[sizeof(but->drawstr)];
- ui_get_but_string_unit(but, new_str, sizeof(new_str), value, TRUE, -1);
- BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%s", but->str, new_str);
+
+ if (but->rnaprop) {
+ PropertySubType pstype = RNA_property_subtype(but->rnaprop);
+
+ if (pstype == PROP_PERCENTAGE)
+ strcat(but->drawstr, "%");
}
- else {
- const int prec = ui_but_float_precision(but, value);
- BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%.*f", but->str, prec, value);
- }
}
- else {
- BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%d", but->str, (int)value);
- }
-
- if (but->rnaprop) {
- PropertySubType pstype = RNA_property_subtype(but->rnaprop);
-
- if (pstype == PROP_PERCENTAGE)
- strcat(but->drawstr, "%");
- }
break;
case LABEL:
More information about the Bf-blender-cvs
mailing list