Module: wine Branch: master Commit: 1506e226632596ff5ba12db3ed1828296111780b URL: http://source.winehq.org/git/wine.git/?a=commit;h=1506e226632596ff5ba12db3ed...
Author: Christian Costa titan.costa@wanadoo.fr Date: Thu Apr 16 20:29:00 2009 +0200
mciqtz32: Use opened state to avoid device to be closed several times.
---
dlls/mciqtz32/mciqtz.c | 12 ++++++------ dlls/mciqtz32/mciqtz_private.h | 1 + 2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/dlls/mciqtz32/mciqtz.c b/dlls/mciqtz32/mciqtz.c index 0cd973b..da3e09a 100644 --- a/dlls/mciqtz32/mciqtz.c +++ b/dlls/mciqtz32/mciqtz.c @@ -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; } diff --git a/dlls/mciqtz32/mciqtz_private.h b/dlls/mciqtz32/mciqtz_private.h index cbcece0..23945a4 100644 --- a/dlls/mciqtz32/mciqtz_private.h +++ b/dlls/mciqtz32/mciqtz_private.h @@ -27,6 +27,7 @@
typedef struct { MCIDEVICEID wDevID; + BOOL opened; IGraphBuilder* pgraph; IMediaControl* pmctrl; BOOL started;