X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/412e0d47c05d69cb029e9dbd11b31ce24fb2377e..99cc862c0fd5fb21152854075808cf82a3a2025d:/src/msw/mediactrl.cpp?ds=inline diff --git a/src/msw/mediactrl.cpp b/src/msw/mediactrl.cpp index 7c2e511cfd..7384442f50 100644 --- a/src/msw/mediactrl.cpp +++ b/src/msw/mediactrl.cpp @@ -1612,7 +1612,10 @@ wxAMMediaBackend::~wxAMMediaBackend() if(m_pAX) { - m_pAX->DissociateHandle(); + { + wxLogNull noLog; + m_pAX->DissociateHandle(); + } delete m_pAX; m_pAM->Release(); @@ -1629,7 +1632,10 @@ wxAMMediaBackend::~wxAMMediaBackend() void wxAMMediaBackend::Clear() { if(m_pTimer) + { delete m_pTimer; + m_pTimer = NULL; + } } //--------------------------------------------------------------------------- @@ -1870,33 +1876,7 @@ bool wxAMMediaBackend::ShowPlayerControls(wxMediaCtrlPlayerControls flags) //--------------------------------------------------------------------------- bool wxAMMediaBackend::Play() { - // if the movie isn't done loading yet - // go into an sync getmessage loop until it is :) - if(m_pMP) - { - MPReadyStateConstants nState; - m_pMP->get_ReadyState(&nState); - while(nState == mpReadyStateLoading && wxYieldIfNeeded()) - { - m_pMP->get_ReadyState(&nState); - } - } - else - { - IActiveMovie2* pAM2; - ReadyStateConstants nState; - if(m_pAM->QueryInterface(IID_IActiveMovie2, (void**)&pAM2) == 0 && - pAM2->get_ReadyState(&nState) == 0) - { - while(nState == amvLoading && wxYieldIfNeeded()) - { - pAM2->get_ReadyState(&nState); - } - pAM2->Release(); - } - } - - //Actually try to play the movie + // Actually try to play the movie, even though it may not be loaded yet. HRESULT hr = m_pAM->Run(); if(SUCCEEDED(hr)) {