]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/mediactrl.cpp
WinCE doesn't have wxCheckListBox, and doesn't like wxRmDir
[wxWidgets.git] / src / mac / carbon / mediactrl.cpp
index f54f814547932d6445e5b73129a98568b32feec5..d41c30cf9b69d5341932fc2b50e78896d4894630 100644 (file)
@@ -118,7 +118,11 @@ public:
     void FinishLoad();
 
     wxSize m_bestSize;              //Original movie size
+#ifdef __WXMAC_OSX__
     struct MovieType** m_movie;     //QT Movie handle/instance
+#else
+    Movie m_movie ;
+#endif
     wxControl* m_ctrl;              //Parent control
     bool m_bVideo;                  //Whether or not we have video
     class _wxQTTimer* m_timer;      //Timer for streaming the movie
@@ -294,6 +298,12 @@ bool wxQTMediaBackend::Load(const wxString& fileName)
     short movieResFile;
     FSSpec sfFile;
     
+    //FIXME:wxMacFilename2FSSpec crashes on empty string - 
+    //does it crash on other strings too and should this
+    //"fix" be put in the carbon wxSound?
+    if (fileName.empty())
+        return false;
+    
     wxMacFilename2FSSpec( fileName , &sfFile );
     
     if (OpenMovieFile (&sfFile, &movieResFile, fsRdPerm) != noErr)
@@ -625,8 +635,8 @@ wxSize wxQTMediaBackend::GetVideoSize() const
 //---------------------------------------------------------------------------
 // wxQTMediaBackend::Move
 //
-// If not using a native 10.2 QT control performs some emulated window
-// movement stuff
+// We need to do this even when using native qt control because 
+// CreateMovieControl is broken in this regard...
 //---------------------------------------------------------------------------
 void wxQTMediaBackend::Move(int x, int y, int w, int h)
 {
@@ -643,12 +653,21 @@ void wxQTMediaBackend::Move(int x, int y, int w, int h)
         ::SetMovieBox(m_movie, &theRect);
         wxASSERT(::GetMoviesError() == noErr);
     }
+#else
+    if(m_timer && m_ctrl)
+    {
+        m_ctrl->GetParent()->MacWindowToRootWindow(&x, &y);
+
+        ::MoveControl( (ControlRef) m_ctrl->GetHandle(), x, y );
+        m_ctrl->GetParent()->Refresh();
+        m_ctrl->GetParent()->Update();
+    }
 #endif
 }
 
 
 //in source file that contains stuff you don't directly use
-#include <wx/html/forcelnk.h>
+#include "wx/html/forcelnk.h"
 FORCE_LINK_ME(basewxmediabackends);
 
 #endif //wxUSE_MEDIACTRL