diff --git a/react/src/PiPedalModel.tsx b/react/src/PiPedalModel.tsx index 897d60b..ead41ae 100644 --- a/react/src/PiPedalModel.tsx +++ b/react/src/PiPedalModel.tsx @@ -1297,8 +1297,9 @@ class PiPedalModelImpl implements PiPedalModel { return nullCast(this.webSocket) .request("saveCurrentPresetAs", request) - .then((data) => { - return data; + .then((newPresetId) => { + this.loadPreset(newPresetId); + return newPresetId; }); } saveCurrentPluginPresetAs(pluginInstanceId: number, newName: string): Promise { diff --git a/react/src/PresetSelector.tsx b/react/src/PresetSelector.tsx index 6704316..011e297 100644 --- a/react/src/PresetSelector.tsx +++ b/react/src/PresetSelector.tsx @@ -151,7 +151,7 @@ const PresetSelector = return this.model.saveCurrentPresetAs(newName); }) .then((newInstanceId) => { - // s'fine. dealt with by updates, but we do need error handling. + }) .catch((error) => { this.showError(error); diff --git a/src/PiPedalModel.cpp b/src/PiPedalModel.cpp index f91649f..fce2536 100644 --- a/src/PiPedalModel.cpp +++ b/src/PiPedalModel.cpp @@ -495,8 +495,9 @@ int64_t PiPedalModel::SaveCurrentPresetAs(int64_t clientId, const std::string &n { std::lock_guard guard{mutex}; - int64_t result = storage.saveCurrentPresetAs(this->pedalBoard, name, saveAfterInstanceId); - this->hasPresetChanged = false; + auto pedalboard = this->pedalBoard; + pedalboard.name(name); + int64_t result = storage.saveCurrentPresetAs(pedalboard, name, saveAfterInstanceId); FirePresetsChanged(clientId); return result; }