summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2014-03-14 20:38:05 +0000
committerGeorge Hazan <george.hazan@gmail.com>2014-03-14 20:38:05 +0000
commitb23ed923d6cac195897244661f26aa3976bb650f (patch)
treee2fb670d77228a657f439f8a12abc2475399bf03
parent60adc0705ec417756a3e86d436ad21b5265a1da2 (diff)
fix of sending messages to subs in stdchat & scriver
git-svn-id: http://svn.miranda-ng.org/main/trunk@8605 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
-rw-r--r--plugins/Scriver/src/globals.cpp12
-rw-r--r--src/core/stdchat/src/main.cpp10
-rw-r--r--src/core/stdmsg/src/commonheaders.h1
-rw-r--r--src/core/stdmsg/src/globals.cpp6
4 files changed, 18 insertions, 11 deletions
diff --git a/plugins/Scriver/src/globals.cpp b/plugins/Scriver/src/globals.cpp
index 51b2afb776..dc06318c27 100644
--- a/plugins/Scriver/src/globals.cpp
+++ b/plugins/Scriver/src/globals.cpp
@@ -399,21 +399,23 @@ static int ackevent(WPARAM wParam, LPARAM lParam)
if (pAck->type != ACKTYPE_MESSAGE)
return 0;
- ACKDATA *ack = (ACKDATA*)lParam;
- MessageSendQueueItem *item = FindSendQueueItem(pAck->hContact, (HANDLE)pAck->hProcess);
+ MCONTACT hContact = db_mc_getMeta(pAck->hContact);
+ if (hContact == NULL)
+ hContact = pAck->hContact;
+ MessageSendQueueItem *item = FindSendQueueItem(hContact, (HANDLE)pAck->hProcess);
if (item == NULL)
return 0;
HWND hwndSender = item->hwndSender;
- if (ack->result == ACKRESULT_FAILED) {
+ if (pAck->result == ACKRESULT_FAILED) {
if (item->hwndErrorDlg != NULL)
- item = FindOldestPendingSendQueueItem(hwndSender, pAck->hContact);
+ item = FindOldestPendingSendQueueItem(hwndSender, hContact);
if (item != NULL && item->hwndErrorDlg == NULL) {
if (hwndSender != NULL) {
ErrorWindowData *ewd = (ErrorWindowData *)mir_alloc(sizeof(ErrorWindowData));
ewd->szName = GetNickname(item->hContact, item->proto);
- ewd->szDescription = mir_a2t((char*)ack->lParam);
+ ewd->szDescription = mir_a2t((char*)pAck->lParam);
ewd->szText = GetSendBufferMsg(item);
ewd->hwndParent = hwndSender;
ewd->queueItem = item;
diff --git a/src/core/stdchat/src/main.cpp b/src/core/stdchat/src/main.cpp
index 63a46a0cee..2e538b47c4 100644
--- a/src/core/stdchat/src/main.cpp
+++ b/src/core/stdchat/src/main.cpp
@@ -344,21 +344,21 @@ extern "C" __declspec(dllexport) int Load(void)
pci->OnAddUser = OnAddUser;
pci->OnNewUser = OnNewUser;
pci->OnRemoveUser = OnRemoveUser;
-
+
pci->OnAddStatus = OnAddStatus;
pci->OnSetStatus = OnSetStatus;
pci->OnSetTopic = OnSetTopic;
-
+
pci->OnAddLog = OnAddLog;
pci->OnClearLog = OnClearLog;
-
+
pci->OnCreateModule = OnCreateModule;
pci->OnOfflineSession = OnOfflineSession;
pci->OnRemoveSession = OnRemoveSession;
pci->OnRenameSession = OnRenameSession;
pci->OnReplaceSession = OnReplaceSession;
pci->OnDblClickSession = OnDblClickSession;
-
+
pci->OnEventBroadcast = OnEventBroadcast;
pci->OnLoadSettings = OnLoadSettings;
pci->OnSetStatusBar = OnSetStatusBar;
@@ -385,7 +385,7 @@ extern "C" __declspec(dllexport) int Unload(void)
db_set_w(NULL, CHAT_MODULE, "SplitterY", (WORD)g_Settings.iSplitterY);
db_set_dw(NULL, CHAT_MODULE, "roomx", g_Settings.iX);
db_set_dw(NULL, CHAT_MODULE, "roomy", g_Settings.iY);
- db_set_dw(NULL, CHAT_MODULE, "roomwidth" , g_Settings.iWidth);
+ db_set_dw(NULL, CHAT_MODULE, "roomwidth", g_Settings.iWidth);
db_set_dw(NULL, CHAT_MODULE, "roomheight", g_Settings.iHeight);
if (g_Settings.MessageBoxFont)
diff --git a/src/core/stdmsg/src/commonheaders.h b/src/core/stdmsg/src/commonheaders.h
index 68c2d753a0..97f5d26b89 100644
--- a/src/core/stdmsg/src/commonheaders.h
+++ b/src/core/stdmsg/src/commonheaders.h
@@ -65,6 +65,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include <m_fontservice.h>
#include <m_timezones.h>
#include <m_avatars.h>
+#include <m_metacontacts.h>
#include "cmdlist.h"
#include "msgs.h"
diff --git a/src/core/stdmsg/src/globals.cpp b/src/core/stdmsg/src/globals.cpp
index eb63672e11..56be8b56c1 100644
--- a/src/core/stdmsg/src/globals.cpp
+++ b/src/core/stdmsg/src/globals.cpp
@@ -133,7 +133,11 @@ static int ackevent(WPARAM wParam, LPARAM lParam)
{
ACKDATA *pAck = (ACKDATA *)lParam;
if (pAck && pAck->type == ACKTYPE_MESSAGE) {
- msgQueue_processack(pAck->hContact, (int)pAck->hProcess, pAck->result == ACKRESULT_SUCCESS, (char*)pAck->lParam);
+ MCONTACT hContact = db_mc_getMeta(pAck->hContact);
+ if (hContact == NULL)
+ hContact = pAck->hContact;
+
+ msgQueue_processack(hContact, (int)pAck->hProcess, pAck->result == ACKRESULT_SUCCESS, (char*)pAck->lParam);
if (pAck->result == ACKRESULT_SUCCESS)
SkinPlaySound("SendMsg");