diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 153923c0c..86dcfb5ff 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -1067,6 +1067,10 @@ bool DivEngine::setSystemChans(int index, int ch, bool preserveOrder) { lastError=_("invalid index"); return false; } + if (ch<1) { + lastError=_("channel count should be at least 1"); + return false; + } if (song.chans-song.systemChans[index]+ch>DIV_MAX_CHANS) { lastError=fmt::sprintf(_("max number of total channels is %d"),DIV_MAX_CHANS); return false; diff --git a/src/gui/sysConf.cpp b/src/gui/sysConf.cpp index 69b90c701..3348d2d02 100644 --- a/src/gui/sysConf.cpp +++ b/src/gui/sysConf.cpp @@ -2797,7 +2797,7 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl updateWindowTitle(); updateROMExportAvail(); } else { - showError(fmt::sprintf(_("cannot change chip! (%s)"),e->getLastError())); + showError(e->getLastError()); } } if (sysDef!=NULL) {