1
0
mirror of https://github.com/wine-mirror/wine synced 2024-07-08 03:45:57 +00:00

mciqtz32: Fix MCI_DGV_WINDOW_HWND error handling.

This commit is contained in:
Akihiro Sagawa 2022-08-18 19:17:05 +09:00 committed by Alexandre Julliard
parent ebd1b7ab81
commit 3ba2c69457
2 changed files with 10 additions and 5 deletions

View File

@ -1000,8 +1000,13 @@ static DWORD MCIQTZ_mciWindow(UINT wDevID, DWORD dwFlags, LPMCI_DGV_WINDOW_PARMS
if (dwFlags & MCI_TEST)
return 0;
if (dwFlags & MCI_DGV_WINDOW_HWND && (IsWindow(lpParms->hWnd) || !lpParms->hWnd)) {
HWND hwnd = lpParms->hWnd ? lpParms->hWnd : wma->window;
if (dwFlags & MCI_DGV_WINDOW_HWND) {
HWND hwnd;
if (lpParms->hWnd && !IsWindow(lpParms->hWnd))
return MCIERR_NO_WINDOW;
if (!wma->parent)
return MCIERR_INTERNAL;
hwnd = lpParms->hWnd ? lpParms->hWnd : wma->window;
TRACE("Setting parent window to %p.\n", hwnd);
if (wma->parent != hwnd)
{

View File

@ -1432,11 +1432,11 @@ static void test_asyncWaveTypeMpegvideo(HWND hwnd)
sprintf(buf, "window mysound handle %lu", PtrToUlong(GetDesktopWindow()));
err = mciSendStringA(buf, NULL, 0, NULL);
todo_wine ok(err == MCIERR_INTERNAL, "mci window handle (desktop) returned %s\n", dbg_mcierr(err));
ok(err == MCIERR_INTERNAL, "mci window handle (desktop) returned %s\n", dbg_mcierr(err));
sprintf(buf, "window mysound handle %lu", (unsigned long)0xdeadbeef);
err = mciSendStringA(buf, NULL, 0, NULL);
todo_wine ok(err == MCIERR_NO_WINDOW, "mci window handle (deadbeef) returned %s\n", dbg_mcierr(err));
ok(err == MCIERR_NO_WINDOW, "mci window handle (deadbeef) returned %s\n", dbg_mcierr(err));
err = mciSendStringA("close mysound wait", NULL, 0, NULL);
ok(!err,"mci close wait returned %s\n", dbg_mcierr(err));
@ -1659,7 +1659,7 @@ static void test_video_window(void)
/* Test MCI_DGV_WINDOW_HWND. */
parm.win.hWnd = (HWND)0xdeadbeef;
err = mciSendCommandW(id, MCI_WINDOW, MCI_DGV_WINDOW_HWND, (DWORD_PTR)&parm);
todo_wine ok(err == MCIERR_NO_WINDOW, "Got %s.\n", dbg_mcierr(err));
ok(err == MCIERR_NO_WINDOW, "Got %s.\n", dbg_mcierr(err));
parm.win.hWnd = main_window;
err = mciSendCommandW(id, MCI_WINDOW, MCI_DGV_WINDOW_HWND, (DWORD_PTR)&parm);