From: Manuel Nickschas Date: Tue, 13 Jan 2009 22:37:42 +0000 (+0100) Subject: Take list of auto-rejoin channels directly from core X-Git-Tag: 0.4.0~221 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=710edfe368ed1db79cc274164523d14afc1b2c9d Take list of auto-rejoin channels directly from core This might fix the dreaded auto-rejoin bug. I can only guess, but maybe the cached list in CoreNetwork and the list in the database get out of sync in some circumstances. This gets rid of the (unneeded) caching; please let me know if the rejoin bug is still present. --- diff --git a/src/core/corenetwork.cpp b/src/core/corenetwork.cpp index ba152a42..a40b5464 100644 --- a/src/core/corenetwork.cpp +++ b/src/core/corenetwork.cpp @@ -406,7 +406,7 @@ void CoreNetwork::sendPerform() { // rejoin channels we've been in if(rejoinChannels()) { QStringList channels, keys; - foreach(QString chan, persistentChannels()) { + foreach(QString chan, coreSession()->persistentChannels(networkId()).keys()) { QString key = channelKey(chan); if(!key.isEmpty()) { channels.prepend(chan); diff --git a/src/core/corenetwork.h b/src/core/corenetwork.h index c3a932ed..f0887070 100644 --- a/src/core/corenetwork.h +++ b/src/core/corenetwork.h @@ -74,7 +74,6 @@ public: QByteArray userEncode(const QString &userNick, const QString &string) const; inline QString channelKey(const QString &channel) const { return _channelKeys.value(channel.toLower(), QString()); } - inline QStringList persistentChannels() const { return _channelKeys.keys(); } inline bool isAutoWhoInProgress(const QString &channel) const { return _autoWhoInProgress.value(channel.toLower(), 0); }