mciqtz32: Fix MCI_DGV_WINDOW_STATE behavior.

This commit is contained in:
Akihiro Sagawa 2022-08-18 19:17:05 +09:00 committed by Alexandre Julliard
parent 861811206c
commit 1c1a21214e
2 changed files with 7 additions and 5 deletions

View file

@ -1022,8 +1022,10 @@ static DWORD MCIQTZ_mciWindow(UINT wDevID, DWORD dwFlags, LPMCI_DGV_WINDOW_PARMS
}
}
if (dwFlags & MCI_DGV_WINDOW_STATE) {
if (!wma->parent)
return MCIERR_NO_WINDOW;
TRACE("Setting nCmdShow to %d\n", lpParms->nCmdShow);
IVideoWindow_put_WindowState(wma->vidwin, lpParms->nCmdShow);
ShowWindow(wma->parent, lpParms->nCmdShow);
}
if (dwFlags & MCI_DGV_WINDOW_TEXT) {
TRACE("Setting caption to %s\n", debugstr_w(lpParms->lpstrText));

View file

@ -1425,7 +1425,7 @@ static void test_asyncWaveTypeMpegvideo(HWND hwnd)
test_notification(hwnd,"play",0);
err = mciSendStringA("window mysound state hide", NULL, 0, NULL);
todo_wine ok(err == MCIERR_NO_WINDOW, "mci window state returned %s\n", dbg_mcierr(err));
ok(err == MCIERR_NO_WINDOW, "mci window state 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));
@ -1696,7 +1696,7 @@ static void test_video_window(void)
parm.win.nCmdShow = SW_MINIMIZE;
err = mciSendCommandW(id, MCI_WINDOW, MCI_DGV_WINDOW_STATE, (DWORD_PTR)&parm);
ok(!err, "Got %s.\n", dbg_mcierr(err));
todo_wine ok(IsIconic(main_window), "Video window should be minimized.\n");
ok(IsIconic(main_window), "Video window should be minimized.\n");
/* video window is reset to the default window, which is visible again */
parm.win.hWnd = NULL;
@ -1707,14 +1707,14 @@ static void test_video_window(void)
err = mciSendCommandW(id, MCI_WHERE, MCI_DGV_WHERE_DESTINATION, (DWORD_PTR)&parm);
ok(!err, "Got %s.\n", dbg_mcierr(err));
todo_wine ok(EqualRect(&parm.where.rc, &src_rc), "Got destination rect %s, expected %s.\n",
ok(EqualRect(&parm.where.rc, &src_rc), "Got destination rect %s, expected %s.\n",
wine_dbgstr_rect(&parm.where.rc), wine_dbgstr_rect(&src_rc));
/* Test MCI_DGV_WINDOW_STATE for the default window. */
parm.win.nCmdShow = SW_MINIMIZE;
err = mciSendCommandW(id, MCI_WINDOW, MCI_DGV_WINDOW_STATE, (DWORD_PTR)&parm);
ok(!err, "Got %s.\n", dbg_mcierr(err));
todo_wine ok(IsIconic(video_window), "Video window should be minimized.\n");
ok(IsIconic(video_window), "Video window should be minimized.\n");
err = mciSendCommandW(id, MCI_CLOSE, 0, 0);
ok(!err, "Got %s.\n", dbg_mcierr(err));