From: Julian Smart Date: Thu, 2 Jun 2005 07:55:35 +0000 (+0000) Subject: Assert fixes [ 1212949 ] Fix some asserts in wxMediaCtrl X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/96339a78f24abf0a7b346c6ddce59e8a62165911?ds=inline Assert fixes [ 1212949 ] Fix some asserts in wxMediaCtrl git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/msw/mediactrl.cpp b/src/msw/mediactrl.cpp index 838347354f..65b15d50f6 100644 --- a/src/msw/mediactrl.cpp +++ b/src/msw/mediactrl.cpp @@ -578,6 +578,7 @@ public: IMediaControl* m_pMC; IMediaEvent* m_pME; IMediaPosition* m_pMS; + bool m_bVideo; wxAMMediaThread* m_pThread; @@ -1238,6 +1239,11 @@ bool wxAMMediaBackend::Load(const wxString& fileName) wxASSERT(false); } + if(m_bestSize.x == 0 && m_bestSize.y == 0) + m_bVideo = false; + else + m_bVideo = true; + // // Force the parent window of this control to recalculate // the size of this if sizers are being used @@ -1491,7 +1497,7 @@ wxSize wxAMMediaBackend::GetVideoSize() const void wxAMMediaBackend::Move(int WXUNUSED(x), int WXUNUSED(y), int w, int h) { - if(m_pVMC) + if(m_pVMC && m_bVideo) { RECT srcRect, destRect; @@ -1632,7 +1638,7 @@ void wxAMMediaBackend::OnStop() void wxAMMediaEvtHandler::OnEraseBackground(wxEraseEvent& evt) { wxAMMediaBackend* pThis = (wxAMMediaBackend*) this; - if(pThis->m_pVMC) + if(pThis->m_pVMC && pThis->m_bVideo) { //TODO: Use wxClientDC? HDC hdc = ::GetDC((HWND)pThis->m_ctrl->GetHandle()); @@ -1658,7 +1664,7 @@ void wxAMMediaEvtHandler::OnPaint(wxPaintEvent& WXUNUSED(evt)) { wxAMMediaBackend* pThis = (wxAMMediaBackend*) this; wxPaintDC dc(pThis->m_ctrl); - if( pThis->m_pVMC ) + if( pThis->m_pVMC && pThis->m_bVideo) { if( pThis->m_pVMC->RepaintVideo((HWND)pThis->m_ctrl->GetHandle(), (HDC)dc.GetHDC()) != 0 )