From 7df671fa2b5260ab25ec456af143ce66e17a43d5 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 4 May 2020 13:03:00 +0300 Subject: NewStory: - mind blowing enum EventLoadMode removed and replaced with the simple bool flag; - massive memory leak removed; - wtext_del flag removed (now all strings are allocated via mir_alloc()); - displayed events now are marked as read if needed --- plugins/NewStory/src/history_array.h | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) (limited to 'plugins/NewStory/src/history_array.h') diff --git a/plugins/NewStory/src/history_array.h b/plugins/NewStory/src/history_array.h index 02a2b7f471..22b1327dad 100644 --- a/plugins/NewStory/src/history_array.h +++ b/plugins/NewStory/src/history_array.h @@ -3,19 +3,11 @@ struct ItemData { - enum EventLoadMode - { - ELM_NOTHING, - ELM_INFO, - ELM_DATA - }; - MCONTACT hContact = 0; MEVENT hEvent = 0; - bool wtext_del = false; bool bSelected = false; - bool dbeOk = false; + bool bLoaded = false; DBEVENTINFO dbe; wchar_t *wtext = 0; @@ -27,18 +19,12 @@ struct ItemData ItemData() { memset(&dbe, 0, sizeof(dbe)); } ~ItemData(); - bool load(EventLoadMode mode); + void load(bool bFullLoad); bool isGrouped() const; - inline bool loadInline(EventLoadMode mode) - { - if (((mode >= ItemData::ELM_INFO) && !dbeOk) || ((mode == ItemData::ELM_DATA) && !dbe.pBlob)) - return load(mode); - return true; - } inline wchar_t *getWBuf() { - loadInline(ItemData::ELM_DATA); + load(true); return wtext; } }; @@ -142,9 +128,8 @@ public: // bool preloadEvents(int count = 10); - ItemData* get(int id, ItemData::EventLoadMode mode = ItemData::ELM_NOTHING); - ItemData* operator[] (int id) { return get(id, ItemData::ELM_DATA); } - ItemData* operator() (int id) { return get(id, ItemData::ELM_INFO); } + ItemData* get(int id, bool bLoad = false); + ItemData* operator[] (int id) { return get(id, true); } int FindRel(int id, int dir, Filter filter) { -- cgit v1.2.3