From 2b0c6e595b6c4df8d8085cfde56dbd34b019a72e Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Sat, 28 Feb 2015 20:45:26 +0100 Subject: [PATCH] Restore CIRCNetwork::ClearQueryBuffer() for convenience Originally removed when query buffers were introduced in 14a534c. The ideal name would be plural ClearQueryBuffers() now that there are multiple query buffers, but use the old name for compatibility reasons (see https://github.com/kylef/znc-contrib/pull/18). --- include/znc/IRCNetwork.h | 2 ++ src/ClientCommand.cpp | 8 ++------ src/IRCNetwork.cpp | 6 ++++++ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/include/znc/IRCNetwork.h b/include/znc/IRCNetwork.h index 93ae384e..975b8524 100644 --- a/include/znc/IRCNetwork.h +++ b/include/znc/IRCNetwork.h @@ -167,6 +167,8 @@ public: void AddNoticeBuffer(const CString& sFormat, const CString& sText = "") { m_NoticeBuffer.AddLine(sFormat, sText); } void UpdateNoticeBuffer(const CString& sMatch, const CString& sFormat, const CString& sText = "") { m_NoticeBuffer.UpdateLine(sMatch, sFormat, sText); } void ClearNoticeBuffer() { m_NoticeBuffer.Clear(); } + + void ClearQueryBuffer(); // !Buffers // la diff --git a/src/ClientCommand.cpp b/src/ClientCommand.cpp index 4f1ca604..153660c8 100644 --- a/src/ClientCommand.cpp +++ b/src/ClientCommand.cpp @@ -1386,9 +1386,7 @@ void CClient::UserCommand(CString& sLine) { return; } - for (CQuery* pQuery : m_pNetwork->GetQueries()) { - m_pNetwork->DelQuery(pQuery->GetName()); - } + m_pNetwork->ClearQueryBuffer(); PutStatus("All query buffers have been cleared"); } else if (sCommand.Equals("CLEARALLBUFFERS")) { if (!m_pNetwork) { @@ -1399,9 +1397,7 @@ void CClient::UserCommand(CString& sLine) { for (CChan* pChan : m_pNetwork->GetChans()) { pChan->ClearBuffer(); } - for (CQuery* pQuery : m_pNetwork->GetQueries()) { - m_pNetwork->DelQuery(pQuery->GetName()); - } + m_pNetwork->ClearQueryBuffer(); PutStatus("All buffers have been cleared"); } else if (sCommand.Equals("SETBUFFER")) { if (!m_pNetwork) { diff --git a/src/IRCNetwork.cpp b/src/IRCNetwork.cpp index a8a59a95..4d3146e8 100644 --- a/src/IRCNetwork.cpp +++ b/src/IRCNetwork.cpp @@ -23,6 +23,7 @@ #include #include #include +#include using std::vector; using std::set; @@ -1279,6 +1280,11 @@ bool CIRCNetwork::PutIRC(const CString& sLine) { return true; } +void CIRCNetwork::ClearQueryBuffer() { + std::for_each(m_vQueries.begin(), m_vQueries.end(), std::default_delete()); + m_vQueries.clear(); +} + const CString& CIRCNetwork::GetNick(const bool bAllowDefault) const { if (m_sNick.empty()) { return m_pUser->GetNick(bAllowDefault);