From 327aaee695ca8846adf9c40b724309e4a6cbc765 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Mon, 18 Aug 2014 23:19:17 +0200 Subject: [PATCH] Song, InstrumentTrack: use DataFile::LocaleHelper Always save projects and presets with default C locale in order to avoid problems in the future. At the same time properly load floating point strings which have been saved with different locale settings. Closes #1051. --- src/core/song.cpp | 4 ++++ src/tracks/InstrumentTrack.cpp | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/core/song.cpp b/src/core/song.cpp index 0d8eaac44..f62cadf19 100644 --- a/src/core/song.cpp +++ b/src/core/song.cpp @@ -896,6 +896,8 @@ void song::loadProject( const QString & _file_name ) return; } + DataFile::LocaleHelper localeHelper( DataFile::LocaleHelper::ModeLoad ); + engine::mixer()->lock(); // get the header information from the DOM @@ -1004,6 +1006,8 @@ void song::loadProject( const QString & _file_name ) // only save current song as _filename and do nothing else bool song::saveProjectFile( const QString & _filename ) { + DataFile::LocaleHelper localeHelper( DataFile::LocaleHelper::ModeSave ); + DataFile dataFile( DataFile::SongProject ); m_tempoModel.saveSettings( dataFile, dataFile.head(), "bpm" ); diff --git a/src/tracks/InstrumentTrack.cpp b/src/tracks/InstrumentTrack.cpp index b9e1e21b1..e0f3ca6c3 100644 --- a/src/tracks/InstrumentTrack.cpp +++ b/src/tracks/InstrumentTrack.cpp @@ -1369,6 +1369,8 @@ void InstrumentTrackWindow::saveSettingsBtnClicked() !sfd.selectedFiles().isEmpty() && !sfd.selectedFiles().first().isEmpty() ) { + DataFile::LocaleHelper localeHelper( DataFile::LocaleHelper::ModeSave ); + DataFile dataFile( DataFile::InstrumentTrackSettings ); m_track->setSimpleSerializing(); m_track->saveSettings( dataFile, dataFile.content() );