]> git.saurik.com Git - wxWidgets.git/commitdiff
Assert fixes [ 1212949 ] Fix some asserts in wxMediaCtrl
authorJulian Smart <julian@anthemion.co.uk>
Thu, 2 Jun 2005 07:55:35 +0000 (07:55 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Thu, 2 Jun 2005 07:55:35 +0000 (07:55 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/mediactrl.cpp

index 838347354f4d09bb1f73cfde4eb7dc1ce145516d..65b15d50f63a34ab8368e480cccc13d4995c9ac2 100644 (file)
@@ -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 )