diff --git a/src/main/VmpcProcessor.cpp b/src/main/VmpcProcessor.cpp index 27c516f47..18dbf236a 100644 --- a/src/main/VmpcProcessor.cpp +++ b/src/main/VmpcProcessor.cpp @@ -632,7 +632,13 @@ void VmpcProcessor::setStateInformation (const void* data, int sizeInBytes) auto sndData = decodeBase64(candidate); SndReader sndReader(sndData); - auto sound = mpc.getSampler()->addSound(sndReader.getSampleRate()); + auto sound = mpc.getSampler()->addSound(sndReader.getSampleRate(), ""); + + if (sound == nullptr) + { + return; + } + sound->setMono(sndReader.isMono()); sndReader.readData(*sound->getSampleData()); sound->setName(sndReader.getName()); diff --git a/src/main/gui/PadControl.cpp b/src/main/gui/PadControl.cpp index e73e7a331..548fee8df 100644 --- a/src/main/gui/PadControl.cpp +++ b/src/main/gui/PadControl.cpp @@ -74,7 +74,12 @@ void PadControl::loadFile(const String path, bool shouldBeConverted, std::string auto layeredScreen = mpc.getLayeredScreen(); SoundLoaderResult result; - auto sound = mpc.getSampler()->addSound(); + auto sound = mpc.getSampler()->addSound(screenToReturnTo); + + if (sound == nullptr) + { + return; + } soundLoader.loadSound(file, result, sound, shouldBeConverted); auto popupScreen = mpc.screens->get("popup");