mirror of
https://github.com/znc/znc.git
synced 2026-05-08 22:34:45 +02:00
Add CClient::IsPlaybackActive()
To let modules know whether a client is currently in playback mode. The clientbuffer module (#343) wants to update "last seen message" timestamps in OnSendToClient() but it must avoid doing that while in playback mode.
This commit is contained in:
@@ -580,6 +580,9 @@ void CChan::SendBuffer(CClient* pClient, const CBuffer& Buffer) {
|
||||
for (size_t uClient = 0; uClient < vClients.size(); ++uClient) {
|
||||
CClient * pUseClient = (pClient ? pClient : vClients[uClient]);
|
||||
|
||||
bool bWasPlaybackActive = pUseClient->IsPlaybackActive();
|
||||
pUseClient->SetPlaybackActive(true);
|
||||
|
||||
bool bSkipStatusMsg = pUseClient->HasServerTime();
|
||||
NETWORKMODULECALL(OnChanBufferStarting(*this, *pUseClient), m_pNetwork->GetUser(), m_pNetwork, NULL, &bSkipStatusMsg);
|
||||
|
||||
@@ -618,6 +621,8 @@ void CChan::SendBuffer(CClient* pClient, const CBuffer& Buffer) {
|
||||
m_pNetwork->PutUser(":znc.in BATCH -" + sBatchName, pUseClient);
|
||||
}
|
||||
|
||||
pUseClient->SetPlaybackActive(bWasPlaybackActive);
|
||||
|
||||
if (pClient)
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user