diff --git a/modules/clearbufferonmsg.cpp b/modules/clearbufferonmsg.cpp index 4e7efdd3..42d03d51 100644 --- a/modules/clearbufferonmsg.cpp +++ b/modules/clearbufferonmsg.cpp @@ -16,6 +16,7 @@ #include #include +#include using std::vector; @@ -26,9 +27,8 @@ public: void ClearAllBuffers() { if (m_pNetwork) { const vector& vChans = m_pNetwork->GetChans(); - vector::const_iterator it; - for (it = vChans.begin(); it != vChans.end(); ++it) { + for (vector::const_iterator it = vChans.begin(); it != vChans.end(); ++it) { // Skip detached channels, they weren't read yet if ((*it)->IsDetached()) continue; @@ -38,6 +38,12 @@ public: // doesn't make any sense with it (*it)->SetAutoClearChanBuffer(false); } + + vector VQueries = m_pNetwork->GetQueries(); + + for (vector::const_iterator it = VQueries.begin(); it != VQueries.end(); ++it) { + m_pNetwork->DelQuery((*it)->GetName()); + } } } @@ -76,4 +82,4 @@ template<> void TModInfo(CModInfo& Info) { Info.SetWikiPage("clearbufferonmsg"); } -USERMODULEDEFS(CClearBufferOnMsgMod, "Clear all channel buffers whenever the user does something") +USERMODULEDEFS(CClearBufferOnMsgMod, "Clear all channel and query buffers whenever the user does something")