AutomatableModel: do not return an out of range value in fittedValue()
If a certain step was set for a model, the fitted value (i.e. value divided by step, rounded and multiplied with step again) could become smaller than minValue or greater than maxValue. Therefore explicitely check those cases after performing the described calculation. Closes #2840202.
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* automatable_model.cpp - some implementations of automatableModel-class
|
||||
*
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -311,6 +311,15 @@ float automatableModel::fittedValue( float _value ) const
|
||||
_value = 0;
|
||||
}
|
||||
|
||||
if( _value < m_minValue )
|
||||
{
|
||||
return m_minValue;
|
||||
}
|
||||
else if( _value > m_maxValue )
|
||||
{
|
||||
return m_maxValue;
|
||||
}
|
||||
|
||||
return _value;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user