diff options
author | Yoann Lopes <yoann.lopes@digia.com> | 2012-12-11 17:13:26 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-12-11 18:13:03 +0100 |
commit | 12bbd990473677c5b3b1c37c317819e73b606e4a (patch) | |
tree | e49115c0803d4c42a5b4041ca973d9be2e5b9f99 /src/plugins/wmf | |
parent | 3f84142aaa0c63edf6fdc1e144ab29be51a29af9 (diff) |
WMF: Fixed crash when cancelling media loading.
Since media loading is asynchronous, cancelling could cause a crash when
done after the media is loaded but the callback hasn't been called yet.
Change-Id: I9c9b7bfaa495b9e75765111c15afb07e8b699488
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Diffstat (limited to 'src/plugins/wmf')
-rw-r--r-- | src/plugins/wmf/sourceresolver.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/plugins/wmf/sourceresolver.cpp b/src/plugins/wmf/sourceresolver.cpp index c5d99959a..9abe65845 100644 --- a/src/plugins/wmf/sourceresolver.cpp +++ b/src/plugins/wmf/sourceresolver.cpp @@ -108,6 +108,10 @@ STDMETHODIMP_(ULONG) SourceResolver::Release(void) HRESULT STDMETHODCALLTYPE SourceResolver::Invoke(IMFAsyncResult *pAsyncResult) { QMutexLocker locker(&m_mutex); + + if (!m_sourceResolver) + return S_OK; + MF_OBJECT_TYPE ObjectType = MF_OBJECT_INVALID; IUnknown* pSource = NULL; State *state = static_cast<State*>(pAsyncResult->GetStateNoAddRef()); |