summaryrefslogtreecommitdiff
path: root/protocols/SkypeWeb
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/SkypeWeb')
-rw-r--r--protocols/SkypeWeb/src/skype_proto.cpp14
-rw-r--r--protocols/SkypeWeb/src/skype_proto.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/protocols/SkypeWeb/src/skype_proto.cpp b/protocols/SkypeWeb/src/skype_proto.cpp
index 1948485676..9321106a3f 100644
--- a/protocols/SkypeWeb/src/skype_proto.cpp
+++ b/protocols/SkypeWeb/src/skype_proto.cpp
@@ -233,7 +233,21 @@ int CSkypeProto::OnEvent(PROTOEVENTTYPE iEventType, WPARAM wParam, LPARAM lParam
case EV_PROTO_ONMENU:
return OnInitStatusMenu();
+
+ case EV_PROTO_ONEXIT:
+ return OnPreShutdown(wParam, lParam);
}
return 1;
+}
+
+int CSkypeProto::OnPreShutdown(WPARAM, LPARAM)
+{
+ debugLogA(__FUNCTION__);
+
+ isTerminated = true;
+ if (m_pollingConnection)
+ CallService(MS_NETLIB_SHUTDOWN, (WPARAM)m_pollingConnection, 0);
+
+ return 0;
} \ No newline at end of file
diff --git a/protocols/SkypeWeb/src/skype_proto.h b/protocols/SkypeWeb/src/skype_proto.h
index b6333cfd8d..3401d6c348 100644
--- a/protocols/SkypeWeb/src/skype_proto.h
+++ b/protocols/SkypeWeb/src/skype_proto.h
@@ -75,6 +75,7 @@ public:
// events
static int OnModulesLoaded (WPARAM, LPARAM);
int __cdecl OnDbEventRead (WPARAM, LPARAM);
+ int __cdecl OnPreShutdown (WPARAM, LPARAM);
//search
void __cdecl SearchBasicThread(void* id);