diff --git a/main.cpp b/main.cpp index 6257583..8605fb8 100644 --- a/main.cpp +++ b/main.cpp @@ -712,7 +712,7 @@ void markChannelAsRequiringTreatmentIfNeeded(unsigned short threadId, string cha if(channelsAlreadyTreated.find(channelId) == channelsAlreadyTreated.end() && channelsToTreatRev.find(channelId) == channelsToTreatRev.end()) { // It is unclear to me why `channelsToTreat.end()->first + 1` doesn't work here. - unsigned int channelsToTreatIndex = channelsToTreat.rbegin()->first + 1; + unsigned int channelsToTreatIndex = !channelsToTreat.empty() ? channelsToTreat.rbegin()->first + 1 : channelsAlreadyTreated.size(); channelsToTreat[channelsToTreatIndex] = channelId; channelsToTreatRev[channelId] = channelsToTreatIndex;