From: R��mi Bernon rbernon@codeweavers.com
--- dlls/winegstreamer/wm_asyncreader.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/dlls/winegstreamer/wm_asyncreader.c b/dlls/winegstreamer/wm_asyncreader.c index 2a2b7310293..a5ab2167ab3 100644 --- a/dlls/winegstreamer/wm_asyncreader.c +++ b/dlls/winegstreamer/wm_asyncreader.c @@ -366,10 +366,11 @@ static HRESULT WINAPI WMReader_Close(IWMReader *iface)
EnterCriticalSection(&reader->reader.cs);
- async_reader_queue_op(reader, ASYNC_OP_CLOSE, NULL); - async_reader_close(reader); - - hr = wm_reader_close(&reader->reader); + if (SUCCEEDED(hr = async_reader_queue_op(reader, ASYNC_OP_CLOSE, NULL))) + { + async_reader_close(reader); + hr = wm_reader_close(&reader->reader); + }
LeaveCriticalSection(&reader->reader.cs);