summaryrefslogtreecommitdiff
path: root/plugins/MirandaG15/src
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2021-06-05 17:50:34 +0300
committerGeorge Hazan <ghazan@miranda.im>2021-06-05 17:50:34 +0300
commitd7c9eb34f80f207efd47d2fc65e31aedf166c323 (patch)
tree338b9b905674dc31b1efab739dfcedeed3d8d7b3 /plugins/MirandaG15/src
parentffc5a3d7550528281976745279e77ac9faba551b (diff)
major code cleaning in regard to db_event_getBlobSize & event memory allocation
Diffstat (limited to 'plugins/MirandaG15/src')
-rw-r--r--plugins/MirandaG15/src/CAppletManager.cpp27
1 files changed, 6 insertions, 21 deletions
diff --git a/plugins/MirandaG15/src/CAppletManager.cpp b/plugins/MirandaG15/src/CAppletManager.cpp
index 24d0c75abe..00ed5f39ac 100644
--- a/plugins/MirandaG15/src/CAppletManager.cpp
+++ b/plugins/MirandaG15/src/CAppletManager.cpp
@@ -793,17 +793,11 @@ void CAppletManager::MarkMessageAsRead(MCONTACT hContact, MEVENT hEvent)
bool CAppletManager::TranslateDBEvent(CEvent *pEvent, WPARAM hContact, LPARAM hdbevent)
{
// Create struct for dbevent
- DBEVENTINFO dbevent = {};
- dbevent.cbBlob = db_event_getBlobSize(hdbevent);
- if (dbevent.cbBlob == -1) // hdbevent is invalid
+ DB::EventInfo dbevent;
+ dbevent.cbBlob = -1;
+ if (db_event_get(hdbevent, &dbevent) != 0)
return false;
- dbevent.pBlob = (PBYTE)malloc(dbevent.cbBlob);
- if (db_event_get(hdbevent, &dbevent) != 0) {
- free(dbevent.pBlob);
- return false;
- }
-
pEvent->dwFlags = dbevent.flags;
pEvent->hContact = hContact;
pEvent->hValue = hdbevent;
@@ -811,17 +805,10 @@ bool CAppletManager::TranslateDBEvent(CEvent *pEvent, WPARAM hContact, LPARAM hd
time_t timestamp = (time_t)dbevent.timestamp;
localtime_s(&pEvent->Time, &timestamp);
pEvent->bTime = true;
- /*
- if(dbevent.eventType == EVENTTYPE_MESSAGE && dbevent.flags & DBEF_READ) {
- free(dbevent.pBlob);
- return false;
- }
- */
+
// Skip events from the user except for messages
- if (dbevent.eventType != EVENTTYPE_MESSAGE && (dbevent.flags & DBEF_SENT)) {
- free(dbevent.pBlob);
+ if (dbevent.eventType != EVENTTYPE_MESSAGE && (dbevent.flags & DBEF_SENT))
return false;
- }
int msglen = 0;
@@ -877,9 +864,9 @@ bool CAppletManager::TranslateDBEvent(CEvent *pEvent, WPARAM hContact, LPARAM hd
pEvent->strDescription = TranslateString(L"Incoming file from %s", strName.c_str());
pEvent->eType = EVENT_FILE;
break;
+
default:
return false;
- break;
}
if (CConfig::GetBoolSetting(NOTIFY_SHOWPROTO)) {
@@ -887,8 +874,6 @@ bool CAppletManager::TranslateDBEvent(CEvent *pEvent, WPARAM hContact, LPARAM hd
pEvent->strDescription = L"(" + toTstring(szProto) + L") " + pEvent->strDescription;
}
- // Clean up
- free(dbevent.pBlob);
return true;
}