diff --git a/components/mediacore/base/src/sbBaseMediacoreMultibandEqualizer.cpp b/components/mediacore/base/src/sbBaseMediacoreMultibandEqualizer.cpp index 2f5bcce976..c785a15ef9 100644 --- a/components/mediacore/base/src/sbBaseMediacoreMultibandEqualizer.cpp +++ b/components/mediacore/base/src/sbBaseMediacoreMultibandEqualizer.cpp @@ -503,13 +503,17 @@ sbBaseMediacoreMultibandEqualizer::SetCurrentPresetName(const nsAString& aCurren // This should possibly be done in front-end code for the separation. LOG(("Applying new GAIN value to the band slider")); char* gainString; - rv = gain->ToString(&gainString); + SB_ConvertFloatEqGainToJSStringValue(gainValue, &gainString); + nsCOMPtr supportsGainString(do_CreateInstance("@mozilla.org/supports-string;1")); + nsEmbedString sgsData(gainString); + rv = supportsGainString->SetData(sgsData, 64); NS_ENSURE_SUCCESS(rv, rv); + nsEmbedCString bandPrefName(NS_LITERAL_CSTRING("songbird.eq.band.")); bandPrefName.AppendInt(index); LOG(("Band: %i, Gain: %s", index, gainString)); - rv = mPrefs->SetCharPref(bandPrefName.get(), gainString); + rv = mPrefs->SetComplexValue(bandPrefName.get(), NS_GET_IID(nsISupportsString), supportsGainString); NS_ENSURE_SUCCESS(rv, rv); } }