summaryrefslogtreecommitdiff
path: root/plugins/NewStory/src/history_array.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/NewStory/src/history_array.cpp')
-rw-r--r--plugins/NewStory/src/history_array.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/plugins/NewStory/src/history_array.cpp b/plugins/NewStory/src/history_array.cpp
index 5b80cc4e52..c9353e88f0 100644
--- a/plugins/NewStory/src/history_array.cpp
+++ b/plugins/NewStory/src/history_array.cpp
@@ -352,11 +352,7 @@ void ItemData::load(bool bFullLoad)
switch (dbe.eventType) {
case EVENTTYPE_MESSAGE:
- if (!(dbe.flags & DBEF_SENT)) {
- if (!dbe.markedRead())
- db_event_markRead(hContact, hEvent);
- Clist_RemoveEvent(-1, hEvent);
- }
+ markRead();
__fallthrough;
case EVENTTYPE_STATUSCHANGE:
@@ -385,6 +381,7 @@ void ItemData::load(bool bFullLoad)
buf.AppendFormat(L" [$hicon=%p$]", g_plugin.getIcon(IDI_OK));
wtext = buf.Detach();
+ markRead();
break;
}
@@ -441,6 +438,15 @@ void ItemData::load(bool bFullLoad)
dbe.unload();
}
+void ItemData::markRead()
+{
+ if (!(dbe.flags & DBEF_SENT)) {
+ if (!dbe.markedRead())
+ db_event_markRead(hContact, hEvent);
+ Clist_RemoveEvent(-1, hEvent);
+ }
+}
+
void ItemData::setText()
{
data = MTextCreateEx(htuLog, formatRtf().GetBuffer(), MTEXT_FLG_RTF);