Maarten Lankhorst : mciqtz32: Handle mciOpen better.
Alexandre Julliard
julliard at winehq.org
Wed May 19 10:34:16 CDT 2010
Module: wine
Branch: master
Commit: 4eddb852b12e516e6976768edcbca858e131af88
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4eddb852b12e516e6976768edcbca858e131af88
Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date: Tue May 18 20:14:07 2010 +0200
mciqtz32: Handle mciOpen better.
---
dlls/mciqtz32/mciqtz.c | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/dlls/mciqtz32/mciqtz.c b/dlls/mciqtz32/mciqtz.c
index 36a7fcb..cdd0c33 100644
--- a/dlls/mciqtz32/mciqtz.c
+++ b/dlls/mciqtz32/mciqtz.c
@@ -145,6 +145,8 @@ static DWORD MCIQTZ_mciOpen(UINT wDevID, DWORD dwFlags,
{
WINE_MCIQTZ* wma;
HRESULT hr;
+ IBasicVideo *vidbasic;
+ IVideoWindow *vidwin;
TRACE("(%04x, %08X, %p)\n", wDevID, dwFlags, lpOpenParms);
@@ -190,6 +192,31 @@ static DWORD MCIQTZ_mciOpen(UINT wDevID, DWORD dwFlags,
goto err;
}
+ hr = IFilterGraph2_QueryInterface(wma->pgraph, &IID_IVideoWindow, (void**)&vidwin);
+ if (SUCCEEDED(hr))
+ hr = IFilterGraph2_QueryInterface(wma->pgraph, &IID_IBasicVideo, (void**)&vidbasic);
+ if (SUCCEEDED(hr)) {
+ DWORD style;
+ RECT rc = { 0, 0, 0, 0 };
+ IVideoWindow_put_AutoShow(vidwin, OAFALSE);
+ style = 0;
+ if (dwFlags & MCI_DGV_OPEN_WS)
+ style |= lpOpenParms->dwStyle;
+ if (dwFlags & MCI_DGV_OPEN_PARENT) {
+ style |= WS_CHILD;
+ IVideoWindow_put_MessageDrain(vidwin, (OAHWND)lpOpenParms->hWndParent);
+ IVideoWindow_put_WindowState(vidwin, SW_HIDE);
+ IVideoWindow_put_Owner(vidwin, (OAHWND)lpOpenParms->hWndParent);
+ }
+ IVideoWindow_put_WindowStyle(vidwin, style);
+ IBasicVideo_GetVideoSize(vidbasic, &rc.right, &rc.bottom);
+ IVideoWindow_SetWindowPosition(vidwin, rc.left, rc.top, rc.right, rc.bottom);
+ IVideoWindow_put_Visible(vidwin, OATRUE);
+ IBasicVideo_Release(vidbasic);
+ }
+ if (vidwin)
+ IVideoWindow_Release(vidwin);
+
wma->opened = TRUE;
return 0;
More information about the wine-cvs
mailing list