summaryrefslogtreecommitdiff
path: root/protocols/IcqOscarJ/src/init.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/IcqOscarJ/src/init.cpp')
-rw-r--r--protocols/IcqOscarJ/src/init.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/protocols/IcqOscarJ/src/init.cpp b/protocols/IcqOscarJ/src/init.cpp
index 67d5626749..d80eba68a2 100644
--- a/protocols/IcqOscarJ/src/init.cpp
+++ b/protocols/IcqOscarJ/src/init.cpp
@@ -32,6 +32,7 @@ HINSTANCE hInst;
int hLangpack;
TIME_API tmi;
CLIST_INTERFACE *pcli;
+bool g_bTerminated;
BOOL bPopupService = FALSE;
@@ -85,6 +86,12 @@ int ModuleLoad(WPARAM, LPARAM)
return 0;
}
+static int OnPreShutdown(WPARAM, LPARAM)
+{
+ g_bTerminated = true;
+ return 0;
+}
+
extern "C" int __declspec(dllexport) Load(void)
{
mir_getLP(&pluginInfo);
@@ -115,6 +122,8 @@ extern "C" int __declspec(dllexport) Load(void)
HookEvent(ME_SYSTEM_MODULELOAD, ModuleLoad);
HookEvent(ME_SYSTEM_MODULEUNLOAD, ModuleLoad);
+ HookEvent(ME_SYSTEM_PRESHUTDOWN, OnPreShutdown);
+
hExtraXStatus = ExtraIcon_Register("xstatus", LPGEN("ICQ xStatus"), "icq_xstatus13");
g_MenuInit();