mciqtz32: Use opened state to avoid device to be closed several times.

This commit is contained in:
Christian Costa 2009-04-16 20:29:00 +02:00 committed by Alexandre Julliard
parent de4f3dc8e8
commit 1506e22663
2 changed files with 7 additions and 6 deletions

View File

@ -185,6 +185,8 @@ static DWORD MCIQTZ_mciOpen(UINT wDevID, DWORD dwFlags,
goto err;
}
wma->opened = TRUE;
return 0;
err:
@ -215,14 +217,12 @@ static DWORD MCIQTZ_mciClose(UINT wDevID, DWORD dwFlags, LPMCI_GENERIC_PARMS lpP
if (!wma)
return MCIERR_INVALID_DEVICE_ID;
if (wma->pgraph)
if (wma->opened) {
IGraphBuilder_Release(wma->pgraph);
wma->pgraph = NULL;
if (wma->pmctrl)
IMediaControl_Release(wma->pmctrl);
wma->pmctrl = NULL;
CoUninitialize();
CoUninitialize();
wma->opened = FALSE;
}
return 0;
}

View File

@ -27,6 +27,7 @@
typedef struct {
MCIDEVICEID wDevID;
BOOL opened;
IGraphBuilder* pgraph;
IMediaControl* pmctrl;
BOOL started;