diff options
author | George Hazan <george.hazan@gmail.com> | 2013-03-18 13:48:48 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2013-03-18 13:48:48 +0000 |
commit | a4b442beef67e204c99d75e561ec9577d58ddf40 (patch) | |
tree | fa933951168b8610d8101c32ad774dac4c26e843 /plugins/YAPP | |
parent | 46fcba0519e424d5ea0b26d8fab881307fefa3d0 (diff) |
removed endless loop in YAPP
git-svn-id: http://svn.miranda-ng.org/main/trunk@4094 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/YAPP')
-rw-r--r-- | plugins/YAPP/src/message_pump.cpp | 9 | ||||
-rw-r--r-- | plugins/YAPP/src/popwin.cpp | 35 | ||||
-rw-r--r-- | plugins/YAPP/src/yapp.cpp | 4 |
3 files changed, 23 insertions, 25 deletions
diff --git a/plugins/YAPP/src/message_pump.cpp b/plugins/YAPP/src/message_pump.cpp index 3c2d297d92..a54c2cbba9 100644 --- a/plugins/YAPP/src/message_pump.cpp +++ b/plugins/YAPP/src/message_pump.cpp @@ -67,7 +67,6 @@ bool is_workstation_locked() return rc;
}
-
unsigned __stdcall MessagePumpThread(void* param)
{
InitWindowStack();
@@ -143,13 +142,12 @@ unsigned __stdcall MessagePumpThread(void* param) DeinitWindowStack();
num_popups = 0;
- //if (param) SetEvent((HANDLE)param);
-
DeinitServices();
return 0;
}
-void PostMPMessage(UINT msg, WPARAM wParam, LPARAM lParam) {
+void PostMPMessage(UINT msg, WPARAM wParam, LPARAM lParam)
+{
PostThreadMessage(message_pump_thread_id, msg, wParam, lParam);
}
@@ -159,7 +157,8 @@ void PostMPMessage(UINT msg, WPARAM wParam, LPARAM lParam) { // when the event is signalled, the hwnd will be valid
void FindWindow(PopupData *pd, HANDLE hEvent, HWND *hwnd);
-void InitMessagePump() {
+void InitMessagePump()
+{
WNDCLASS popup_win_class = {0};
popup_win_class.lpfnWndProc = PopupWindowProc;
popup_win_class.hInstance = hInst;
diff --git a/plugins/YAPP/src/popwin.cpp b/plugins/YAPP/src/popwin.cpp index 0313ba6f30..cbc7eb8139 100644 --- a/plugins/YAPP/src/popwin.cpp +++ b/plugins/YAPP/src/popwin.cpp @@ -131,15 +131,16 @@ void AddWindowToStack(HWND hwnd) { RepositionWindows();
}
-void RemoveWindowFromStack(HWND hwnd) {
+void RemoveWindowFromStack(HWND hwnd)
+{
HWNDStackNode *current = hwnd_stack_top, *prev = 0;
while(current) {
if (current->hwnd == hwnd) {
- if (prev) {
+ if (prev)
prev->next = current->next;
- } else {
+ else
hwnd_stack_top = current->next;
- }
+
mir_free(current);
stack_size--;
break;
@@ -149,19 +150,24 @@ void RemoveWindowFromStack(HWND hwnd) { current = current->next;
}
- if (hwnd_stack_top) RepositionWindows();
+ if (hwnd_stack_top)
+ RepositionWindows();
}
-void ClearStack() {
- while(hwnd_stack_top) {
- DestroyWindow(hwnd_stack_top->hwnd);
+void BroadcastMessage(UINT msg, WPARAM wParam, LPARAM lParam)
+{
+ HWNDStackNode *current = hwnd_stack_top;
+ while(current) {
+ SendMessage(current->hwnd, msg, wParam, lParam);
+ current = current->next;
}
}
-void BroadcastMessage(UINT msg, WPARAM wParam, LPARAM lParam) {
+void DeinitWindowStack()
+{
HWNDStackNode *current = hwnd_stack_top;
while(current) {
- SendMessage(current->hwnd, msg, wParam, lParam);
+ DestroyWindow(current->hwnd);
current = current->next;
}
}
@@ -729,17 +735,10 @@ void InitWindowStack() MySetLayeredWindowAttributes = (BOOL (WINAPI *)(HWND,COLORREF,BYTE,DWORD))GetProcAddress(hUserDll, "SetLayeredWindowAttributes");
MyAnimateWindow=(BOOL (WINAPI*)(HWND,DWORD,DWORD))GetProcAddress(hUserDll,"AnimateWindow");
MyMonitorFromRect=(HMONITOR (WINAPI*)(LPCRECT,DWORD))GetProcAddress(hUserDll, "MonitorFromRect");
-
- MyGetMonitorInfo=(BOOL (WINAPI*)(HMONITOR,LPMONITORINFO))GetProcAddress(hUserDll, "GetMonitorInfoW");
-
+ MyGetMonitorInfo=(BOOL (WINAPI*)(HMONITOR,LPMONITORINFO))GetProcAddress(hUserDll, "GetMonitorInfoW");
}
}
-void DeinitWindowStack()
-{
- ClearStack();
-}
-
///////////////////////////////////////////////////////////////////////////////
void PopupData::SetIcon(HICON hNewIcon)
diff --git a/plugins/YAPP/src/yapp.cpp b/plugins/YAPP/src/yapp.cpp index cec66a0ee9..88aef60da0 100644 --- a/plugins/YAPP/src/yapp.cpp +++ b/plugins/YAPP/src/yapp.cpp @@ -162,8 +162,8 @@ int PreShutdown(WPARAM wParam, LPARAM lParam) return 0;
}
-extern "C" int __declspec(dllexport) Load(void) {
-
+extern "C" int __declspec(dllexport) Load(void)
+{
mir_getLP(&pluginInfo);
InitMessagePump();
|