diff options
author | George Hazan <ghazan@miranda.im> | 2017-10-10 13:38:28 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2017-10-10 13:38:28 +0300 |
commit | f6b9225bf5ccba811d7a24faf2e298361ed76649 (patch) | |
tree | 2637a330121f4f09a87c55030ecf6cbe430cc854 /plugins/ListeningTo/src/players | |
parent | d01fbfbee39925d79512b8b829824cffc6d0698d (diff) |
fixes #968 (Crash on Listening dynamic unload)
Diffstat (limited to 'plugins/ListeningTo/src/players')
-rw-r--r-- | plugins/ListeningTo/src/players/generic.cpp | 18 | ||||
-rw-r--r-- | plugins/ListeningTo/src/players/wmp.cpp | 35 |
2 files changed, 17 insertions, 36 deletions
diff --git a/plugins/ListeningTo/src/players/generic.cpp b/plugins/ListeningTo/src/players/generic.cpp index e6a7a77c7b..db11f757d7 100644 --- a/plugins/ListeningTo/src/players/generic.cpp +++ b/plugins/ListeningTo/src/players/generic.cpp @@ -1,4 +1,4 @@ -/*
+/*
Copyright (C) 2005-2009 Ricardo Pescuma Domenecci
This is free software; you can redistribute it and/or
@@ -14,7 +14,7 @@ Library General Public License for more details. You should have received a copy of the GNU Library General Public
License along with this file; see the file license.txt. If
not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.
+Boston, MA 02111-1307, USA.
*/
#include "../stdafx.h"
@@ -55,10 +55,6 @@ static LRESULT CALLBACK ReceiverWndProc(HWND hWnd, UINT message, WPARAM wParam, }
break;
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
-
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
@@ -73,19 +69,15 @@ GenericPlayer::GenericPlayer() received[0] = L'\0';
singleton = this;
- WNDCLASS wc = { 0 };
+ WNDCLASS wc = {};
wc.lpfnWndProc = ReceiverWndProc;
wc.hInstance = hInst;
wc.lpszClassName = MIRANDA_WINDOWCLASS;
-
RegisterClass(&wc);
- hWnd = CreateWindow(MIRANDA_WINDOWCLASS, LPGENW("Miranda ListeningTo receiver"),
- 0, 0, 0, 0, 0, NULL, NULL, hInst, NULL);
+ hWnd = CreateWindow(MIRANDA_WINDOWCLASS, LPGENW("Miranda ListeningTo receiver"), 0, 0, 0, 0, 0, NULL, NULL, hInst, NULL);
}
-
-
GenericPlayer::~GenericPlayer()
{
if (hTimer != NULL) {
@@ -100,8 +92,6 @@ GenericPlayer::~GenericPlayer() singleton = NULL;
}
-
-
void GenericPlayer::ProcessReceived()
{
mir_cslockfull lck(cs);
diff --git a/plugins/ListeningTo/src/players/wmp.cpp b/plugins/ListeningTo/src/players/wmp.cpp index f7d2ab6df2..a78f6f3a57 100644 --- a/plugins/ListeningTo/src/players/wmp.cpp +++ b/plugins/ListeningTo/src/players/wmp.cpp @@ -33,15 +33,13 @@ WindowsMediaPlayer::WindowsMediaPlayer() received[0] = '\0';
singleton = this;
- WNDCLASS wc = { 0 };
+ WNDCLASS wc = {};
wc.lpfnWndProc = ReceiverWndProc;
wc.hInstance = hInst;
wc.lpszClassName = WMP_WINDOWCLASS;
-
RegisterClass(&wc);
- hWnd = CreateWindow(WMP_WINDOWCLASS, LPGENW("Miranda ListeningTo WMP receiver"),
- 0, 0, 0, 0, 0, NULL, NULL, hInst, NULL);
+ hWnd = CreateWindow(WMP_WINDOWCLASS, LPGENW("Miranda ListeningTo WMP receiver"), 0, 0, 0, 0, 0, NULL, NULL, hInst, NULL);
}
WindowsMediaPlayer::~WindowsMediaPlayer()
@@ -142,28 +140,21 @@ void WindowsMediaPlayer::NewData(const WCHAR *data, size_t len) static LRESULT CALLBACK ReceiverWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
- switch (message) {
- case WM_COPYDATA:
- {
- if (!loaded)
- return FALSE;
-
- if (singleton == NULL || !singleton->enabled)
- return FALSE;
+ if (message == WM_COPYDATA) {
+ if (!loaded)
+ return FALSE;
- COPYDATASTRUCT* pData = (PCOPYDATASTRUCT)lParam;
- if (pData->dwData != 0x547 || pData->cbData == 0 || pData->lpData == NULL)
- return FALSE;
+ if (singleton == NULL || !singleton->enabled)
+ return FALSE;
- if (singleton != NULL)
- singleton->NewData((WCHAR *)pData->lpData, pData->cbData / 2);
+ COPYDATASTRUCT* pData = (PCOPYDATASTRUCT)lParam;
+ if (pData->dwData != 0x547 || pData->cbData == 0 || pData->lpData == NULL)
+ return FALSE;
- return TRUE;
- }
+ if (singleton != NULL)
+ singleton->NewData((WCHAR *)pData->lpData, pData->cbData / 2);
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
+ return TRUE;
}
return DefWindowProc(hWnd, message, wParam, lParam);
|