From cb4138d0b9153cad3654c53ddb68c53b56fab3b4 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 22 Feb 2025 19:06:17 +0200 Subject: =?UTF-8?q?fixes=20#4885=20(=D0=9F=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD?= =?UTF-8?q?=D1=8B=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D0=B9?= =?UTF-8?q?=20=D1=83=D1=87=D0=B8=D1=82=D1=8B=D0=B2=D0=B0=D1=8E=20=D0=BD?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B4=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B8=20=D0=B8=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=B8=20=D0=BB=D0=B8=D1=88=D1=8C=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=20=D0=BF=D0=B5=D1=80=D0=B2=D0=BE=D0=BC=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D0=B8=20=D0=BE=D0=BA=D0=BD?= =?UTF-8?q?=D0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/m_chat_int.h | 1 - plugins/Dbx_sqlite/src/dbevents.cpp | 2 +- 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); } -- cgit v1.2.3