summaryrefslogtreecommitdiff
path: root/src/mir_app
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2018-05-31 12:24:51 +0300
committerGeorge Hazan <ghazan@miranda.im>2018-05-31 12:24:58 +0300
commit8bd59593912495db8b41f885c1c9c8c5687e4156 (patch)
tree58cff42775b59a620261b62bb91f82f130e0e782 /src/mir_app
parentd70004f376a18f4c44ff47d423f0715a050002fd (diff)
fixes #1397 (StdMsg: dynamic loading breaks meta menu)
Diffstat (limited to 'src/mir_app')
-rw-r--r--src/mir_app/src/mir_app.def1
-rw-r--r--src/mir_app/src/mir_app64.def1
-rw-r--r--src/mir_app/src/srmm_statusicon.cpp14
3 files changed, 14 insertions, 2 deletions
diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def
index 6920cdcb3d..33f5a59f10 100644
--- a/src/mir_app/src/mir_app.def
+++ b/src/mir_app/src/mir_app.def
@@ -617,3 +617,4 @@ UnregisterPlugin @633
??_7CMPluginBase@@6B@ @646 NONAME
?Load@CMPluginBase@@UAEHXZ @647 NONAME
?Unload@CMPluginBase@@UAEHXZ @648 NONAME
+Srmm_ClickStatusIcon @649
diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def
index d72137f7cc..67d1f4ee8b 100644
--- a/src/mir_app/src/mir_app64.def
+++ b/src/mir_app/src/mir_app64.def
@@ -617,3 +617,4 @@ UnregisterPlugin @633
??_7CMPluginBase@@6B@ @646 NONAME
?Load@CMPluginBase@@UEAAHXZ @647 NONAME
?Unload@CMPluginBase@@UEAAHXZ @648 NONAME
+Srmm_ClickStatusIcon @649
diff --git a/src/mir_app/src/srmm_statusicon.cpp b/src/mir_app/src/srmm_statusicon.cpp
index 87a83542d9..34499a7f27 100644
--- a/src/mir_app/src/srmm_statusicon.cpp
+++ b/src/mir_app/src/srmm_statusicon.cpp
@@ -24,6 +24,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "stdafx.h"
HCURSOR g_hCurHyperlinkHand;
+HANDLE hHookSrmmEvent;
+
+static HANDLE hHookIconsChanged, hHookIconPressedEvt;
void LoadSrmmToolbarModule();
void UnloadSrmmToolbarModule();
@@ -79,8 +82,6 @@ static int CompareIcons(const StatusIconMain *p1, const StatusIconMain *p2)
static OBJLIST<StatusIconMain> arIcons(3, CompareIcons);
-HANDLE hHookIconsChanged, hHookSrmmEvent;
-
/////////////////////////////////////////////////////////////////////////////////////////
MIR_APP_DLL(int) Srmm_AddIcon(StatusIconData *sid, int _hLangpack)
@@ -195,6 +196,13 @@ MIR_APP_DLL(StatusIconData*) Srmm_GetNthIcon(MCONTACT hContact, int index)
/////////////////////////////////////////////////////////////////////////////////////////
+MIR_APP_DLL(void) Srmm_ClickStatusIcon(MCONTACT hContact, const StatusIconData *sid)
+{
+ NotifyEventHooks(hHookIconPressedEvt, hContact, (LPARAM)sid);
+}
+
+/////////////////////////////////////////////////////////////////////////////////////////
+
void KillModuleSrmmIcons(int _hLang)
{
auto T = arIcons.rev_iter();
@@ -211,6 +219,7 @@ int LoadSrmmModule()
hHookSrmmEvent = CreateHookableEvent(ME_MSG_WINDOWEVENT);
hHookIconsChanged = CreateHookableEvent(ME_MSG_ICONSCHANGED);
+ hHookIconPressedEvt = CreateHookableEvent(ME_MSG_ICONPRESSED);
return 0;
}
@@ -220,6 +229,7 @@ void UnloadSrmmModule()
DestroyHookableEvent(hHookIconsChanged);
DestroyHookableEvent(hHookSrmmEvent);
+ DestroyHookableEvent(hHookIconPressedEvt);
DestroyCursor(g_hCurHyperlinkHand);