summaryrefslogtreecommitdiff
path: root/protocols/YAMN/src/mails
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2023-10-06 14:03:42 +0300
committerGeorge Hazan <george.hazan@gmail.com>2023-10-06 14:03:42 +0300
commit4f7cb79f7c8d1b46260f135e3ab7ba615cf8ea29 (patch)
tree70bab49f49e7f4989445ba9a8bff94c90e1acf60 /protocols/YAMN/src/mails
parent4549087d4f7044dbf51a75d1af605ac93f6fbd6b (diff)
fixes #3704 (YAMN: Миранда зависает если изменить настройки YAMN во время прилёта письма)
Diffstat (limited to 'protocols/YAMN/src/mails')
-rw-r--r--protocols/YAMN/src/mails/mails.cpp20
1 files changed, 4 insertions, 16 deletions
diff --git a/protocols/YAMN/src/mails/mails.cpp b/protocols/YAMN/src/mails/mails.cpp
index 1385cb649d..87a4faaf42 100644
--- a/protocols/YAMN/src/mails/mails.cpp
+++ b/protocols/YAMN/src/mails/mails.cpp
@@ -91,18 +91,6 @@ HYAMNMAIL WINAPI CreateNewDeleteQueueFcn(HYAMNMAIL From);
// mode- nonzero to set, else remove
void WINAPI SetRemoveFlagsInQueueFcn(HYAMNMAIL From, uint32_t FlagsSet, uint32_t FlagsNotSet, uint32_t FlagsToSetRemove, int mode);
-struct CExportedFunctions MailExportedFcn[] =
-{
- {YAMN_SYNCHROMIMEMSGSID, (void *)SynchroMessagesFcn},
- {YAMN_TRANSLATEHEADERID, (void *)TranslateHeaderFcn},
- {YAMN_APPENDQUEUEID, (void *)AppendQueueFcn},
- {YAMN_DELETEMIMEQUEUEID, (void *)DeleteMessagesToEndFcn},
- {YAMN_DELETEMIMEMESSAGEID, (void *)DeleteMessageFromQueueFcn},
- {YAMN_FINDMIMEMESSAGEID, (void *)FindMessageByIDFcn},
- {YAMN_CREATENEWDELETEQUEUEID, (void *)CreateNewDeleteQueueFcn},
- {YAMN_SETREMOVEQUEUEFLAGSID, (void *)SetRemoveFlagsInQueueFcn},
-};
-
struct CExportedServices MailExportedSvc[] =
{
{MS_YAMN_CREATEACCOUNTMAIL, CreateAccountMailSvc},
@@ -147,7 +135,7 @@ INT_PTR CreateAccountMailSvc(WPARAM wParam, LPARAM lParam)
INT_PTR DeleteAccountMailSvc(WPARAM wParam, LPARAM lParam)
{
- HYAMNPROTOPLUGIN Plugin = (HYAMNPROTOPLUGIN)wParam;
+ YAMN_PROTOPLUGIN *Plugin = (YAMN_PROTOPLUGIN*)wParam;
HYAMNMAIL OldMail = (HYAMNMAIL)lParam;
struct CMimeItem *TH;
@@ -315,7 +303,7 @@ void WINAPI DeleteMessagesToEndFcn(CAccount *Account, HYAMNMAIL From)
}
}
-void WINAPI DeleteMessageFromQueueFcn(HYAMNMAIL *From, HYAMNMAIL Which, int mode = 0)
+void WINAPI DeleteMessageFromQueueFcn(HYAMNMAIL *From, HYAMNMAIL Which, int mode)
{
uint32_t Number = Which->Number;
HYAMNMAIL Parser;
@@ -388,7 +376,7 @@ void WINAPI TranslateHeaderFcn(char *stream, int len, struct CMimeItem **head)
} while (ENDLINEWS(finder));
if (Item != nullptr) {
- if (nullptr == (Item->Next = new struct CMimeItem))
+ if (nullptr == (Item->Next = new CMimeItem()))
break;
Item = Item->Next;
}
@@ -417,7 +405,7 @@ void WINAPI TranslateHeaderFcn(char *stream, int len, struct CMimeItem **head)
if (ENDLINE(finder))finder--;
prev2 = finder;
if (prev2 > prev1) { // yes, we have body
- if (nullptr == (Item->Next = new struct CMimeItem)) break; // Cant create new item?!
+ Item->Next = new CMimeItem();
Item = Item->Next;
Item->Next = nullptr;//just in case;
Item->name = new char[5]; strncpy(Item->name, "Body", 5);