In some cases the automatic parsing of PREFIX was actually
triggered before RPL_ISUPPORT was actually received. In this case
the internal prefix configuration would only contain the default
modes, and not the network specific modes, which would cause
custom modes to be ignored completly.
This patch forces the parsing of PREFIX directly after RPL_ISUPPORT
was received, and the data is available.
_prefixModes = defaultPrefixModes;
return;
}
+ // clear the existing modes, just in case we're run multiple times
+ _prefixes = QString();
+ _prefixModes = QString();
// we just assume that in PREFIX are only prefix chars stored
for(int i = 0; i < defaultPrefixes.size(); i++) {
QString prefixes();
QString prefixModes();
+ void determinePrefixes();
bool supports(const QString ¶m) const { return _supports.contains(param); }
QString support(const QString ¶m) const;
bool _unlimitedReconnectRetries;
bool _rejoinChannels;
- void determinePrefixes();
-
QTextCodec *_codecForServer;
QTextCodec *_codecForEncoding;
QTextCodec *_codecForDecoding;
QString value = rawSupport.section("=", 1);
network()->addSupport(key, value);
}
+
+ /* determine our prefixes here to get an accurate result */
+ network()->determinePrefixes();
}
/* RPL_UMODEIS - "<user_modes> [<user_mode_params>]" */