another small patch for numberinput:
Index: gui_numberinput.cc
===================================================================
--- gui_numberinput.cc (revision 2159)
+++ gui_numberinput.cc (working copy)
@@ -151,8 +151,8 @@
{
sint64 diff = max_value-min_value;
for( int i=0; i<7; i++ ) {
- if( value<((diff*(sint64)percent[i])/100l) ) {
- return clamp( (sint32)((diff*percent[i])/100l), min_value, max_value );
+ if( value-min_value<((diff*(sint64)percent[i])/100l) ) {
+ return clamp(min_value + (sint32)((diff*percent[i])/100l), min_value, max_value );
}
}
return max_value;
@@ -192,8 +192,8 @@
{
sint64 diff = max_value-min_value;
for( int i=6; i>=0; i-- ) {
- if( value>((diff*percent[i])/100l) ) {
- return clamp( (sint32)((diff*percent[i])/100l), min_value, max_value );
+ if( value-min_value>((diff*percent[i])/100l) ) {
+ return clamp( min_value+(sint32)((diff*percent[i])/100l), min_value, max_value );
}
}
return min_value;
min_value was not recognized here, false behaviour would be visible for min_value !=0.