diff --git a/src/effects/ChangeSpeed.cpp b/src/effects/ChangeSpeed.cpp index 705df25bd..bc011c7bb 100644 --- a/src/effects/ChangeSpeed.cpp +++ b/src/effects/ChangeSpeed.cpp @@ -435,10 +435,13 @@ bool EffectChangeSpeed::TransferDataToWindow() bool EffectChangeSpeed::TransferDataFromWindow() { + // mUIParent->TransferDataFromWindow() loses some precision, so save and restore it. + double exactPercent = m_PercentChange; if (!mUIParent->Validate() || !mUIParent->TransferDataFromWindow()) { return false; } + m_PercentChange = exactPercent; SetPrivateConfig(GetCurrentSettingsGroup(), wxT("TimeFormat"), mFormat); SetPrivateConfig(GetCurrentSettingsGroup(), wxT("VinylChoice"), mFromVinyl);