From 4eb0a3bdb73874aa87095f566677166764ef1ccc Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 26 Apr 2014 15:24:19 -0400 Subject: [PATCH] Fix ModeManager::RebuildStatusModes, not all modes are in GetChannelModes() at the time this is called --- src/modes.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modes.cpp b/src/modes.cpp index 891dcf6a8..668f7c150 100644 --- a/src/modes.cpp +++ b/src/modes.cpp @@ -587,11 +587,11 @@ static struct StatusSort void ModeManager::RebuildStatusModes() { ChannelModesByStatus.clear(); - for (unsigned j = 0; j < ModeManager::GetChannelModes().size(); ++j) + for (unsigned j = 0; j < ChannelModesIdx.size(); ++j) { - ChannelMode *cm = ModeManager::GetChannelModes()[j]; + ChannelMode *cm = ChannelModesIdx[j]; - if (cm->type == MODE_STATUS && std::find(ChannelModesByStatus.begin(), ChannelModesByStatus.end(), cm) == ChannelModesByStatus.end()) + if (cm && cm->type == MODE_STATUS && std::find(ChannelModesByStatus.begin(), ChannelModesByStatus.end(), cm) == ChannelModesByStatus.end()) ChannelModesByStatus.push_back(anope_dynamic_static_cast(cm)); } std::sort(ChannelModesByStatus.begin(), ChannelModesByStatus.end(), statuscmp);