mciqtz32: Fix MCI_DGV_WINDOW_TEXT behavior.

This commit is contained in:
Akihiro Sagawa 2022-08-18 19:17:05 +09:00 committed by Alexandre Julliard
parent bb0f1981fc
commit ef48187a40
2 changed files with 6 additions and 4 deletions

View file

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

View file

@ -1428,7 +1428,7 @@ static void test_asyncWaveTypeMpegvideo(HWND hwnd)
ok(err == MCIERR_NO_WINDOW, "mci window state returned %s\n", dbg_mcierr(err));
err = mciSendStringA("window mysound text abracadabra", NULL, 0, NULL);
todo_wine ok(err == MCIERR_NO_WINDOW, "mci window text returned %s\n", dbg_mcierr(err));
ok(err == MCIERR_NO_WINDOW, "mci window text 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));
@ -1707,7 +1707,7 @@ static void test_video_window(void)
err = mciSendCommandW(id, MCI_WINDOW, MCI_DGV_WINDOW_TEXT, (DWORD_PTR)&parm);
ok(!err, "Got %s.\n", dbg_mcierr(err));
GetWindowTextW(main_window, buffer, ARRAY_SIZE(buffer));
todo_wine ok(!wcscmp(buffer, parm.win.lpstrText), "Got %s, expected %s\n", wine_dbgstr_w(buffer), wine_dbgstr_w(parm.win.lpstrText));
ok(!wcscmp(buffer, parm.win.lpstrText), "Got %s, expected %s\n", wine_dbgstr_w(buffer), wine_dbgstr_w(parm.win.lpstrText));
/* video window is reset to the default window, which is visible again */
parm.win.hWnd = NULL;
@ -1732,7 +1732,7 @@ static void test_video_window(void)
err = mciSendCommandW(id, MCI_WINDOW, MCI_DGV_WINDOW_TEXT, (DWORD_PTR)&parm);
ok(!err, "Got %s.\n", dbg_mcierr(err));
GetWindowTextW(video_window, buffer, ARRAY_SIZE(buffer));
todo_wine ok(!wcscmp(buffer, parm.win.lpstrText), "Got %s, expected %s\n", wine_dbgstr_w(buffer), wine_dbgstr_w(parm.win.lpstrText));
ok(!wcscmp(buffer, parm.win.lpstrText), "Got %s, expected %s\n", wine_dbgstr_w(buffer), wine_dbgstr_w(parm.win.lpstrText));
err = mciSendCommandW(id, MCI_CLOSE, 0, 0);
ok(!err, "Got %s.\n", dbg_mcierr(err));