diff options
-rw-r--r-- | include/m_chat_int.h | 1 | ||||
-rw-r--r-- | plugins/Dbx_sqlite/src/dbevents.cpp | 2 | ||||
-rw-r--r-- | src/mir_app/src/srmm_base.cpp | 9 |
3 files changed, 7 insertions, 5 deletions
diff --git a/include/m_chat_int.h b/include/m_chat_int.h index a2cd3bc659..313e2b511c 100644 --- a/include/m_chat_int.h +++ b/include/m_chat_int.h @@ -153,7 +153,6 @@ struct MIR_APP_EXPORT SESSION_INFO : public MZeroedObject, public MNonCopyable bool bInitDone;
bool bHasToolTip;
bool bHasNicklist;
- bool bHistoryInit;
bool bIsDirty;
char* pszModule;
diff --git a/plugins/Dbx_sqlite/src/dbevents.cpp b/plugins/Dbx_sqlite/src/dbevents.cpp index 2eb93ce7de..2e75c8e2ea 100644 --- a/plugins/Dbx_sqlite/src/dbevents.cpp +++ b/plugins/Dbx_sqlite/src/dbevents.cpp @@ -146,7 +146,7 @@ MEVENT CDbxSQLite::AddEvent(MCONTACT hContact, const DBEVENTINFO *dbei) sqlite3_bind_blob(stmt, 6, tmp.pBlob, tmp.cbBlob, nullptr);
sqlite3_bind_text(stmt, 7, tmp.szId, (int)mir_strlen(tmp.szId), nullptr);
sqlite3_bind_text(stmt, 8, tmp.szUserId, (int)mir_strlen(tmp.szUserId), nullptr);
- sqlite3_bind_int(stmt, 9, tmp.markedRead());
+ sqlite3_bind_int(stmt, 9, tmp.bRead);
sqlite3_bind_text(stmt, 10, tmp.szReplyId, (int)mir_strlen(tmp.szReplyId), nullptr);
int rc = sqlite3_step(stmt);
logError(rc, __FILE__, __LINE__);
diff --git a/src/mir_app/src/srmm_base.cpp b/src/mir_app/src/srmm_base.cpp index 5407755e30..82454da143 100644 --- a/src/mir_app/src/srmm_base.cpp +++ b/src/mir_app/src/srmm_base.cpp @@ -758,7 +758,7 @@ bool CSrmmBaseDialog::IsSuitableEvent(const LOGINFO &lin) const void CSrmmBaseDialog::MarkEventRead(const DB::EventInfo &dbei)
{
- if (dbei.markedRead())
+ if (dbei.bRead)
return;
if (m_bActive)
@@ -826,12 +826,16 @@ void CSrmmBaseDialog::ScheduleRedrawLog() void CSrmmBaseDialog::UpdateChatLog()
{
- if (!m_si->pMI->bDatabase || m_si->bHistoryInit)
+ if (!m_si->pMI->bDatabase)
return;
m_pLog->Clear();
GetFirstEvent();
+ for (auto &it : m_si->arEvents.rev_iter())
+ if (it->hEvent)
+ m_si->arEvents.removeItem(&it);
+
int iHistoryMode = Srmm::iHistoryMode;
auto *szProto = Proto_GetBaseAccountName(m_hContact);
@@ -859,7 +863,6 @@ void CSrmmBaseDialog::UpdateChatLog() }
}
- m_si->bHistoryInit = true;
m_pLog->LogChatEvents(nullptr);
}
|