]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xmladv.cpp
Ensure there is valid context for DrawRectangle
[wxWidgets.git] / src / xrc / xmladv.cpp
index 6f6f36067a5608f97e49f6c2183e3bc55740e8b6..729c5b2892127534860ad0dc997171d67be5ccfc 100644 (file)
     #include "wx/log.h"
 #endif // WX_PRECOMP
 
     #include "wx/log.h"
 #endif // WX_PRECOMP
 
+#include "wx/animate.h"
+#include "wx/scopedptr.h"
+
 // ============================================================================
 // implementation
 // ============================================================================
 
 #if wxUSE_ANIMATIONCTRL
 // ============================================================================
 // implementation
 // ============================================================================
 
 #if wxUSE_ANIMATIONCTRL
-wxAnimation wxXmlResourceHandlerImpl::GetAnimation(const wxString& param)
+wxAnimation* wxXmlResourceHandlerImpl::GetAnimation(const wxString& param)
 {
     const wxString name = GetParamValue(param);
     if ( name.empty() )
 {
     const wxString name = GetParamValue(param);
     if ( name.empty() )
-        return wxNullAnimation;
+        return NULL;
 
     // load the animation from file
 
     // load the animation from file
-    wxAnimation ani;
+    wxScopedPtr<wxAnimation> ani(new wxAnimation);
 #if wxUSE_FILESYSTEM
     wxFSFile * const
         fsfile = GetCurFileSystem().OpenFile(name, wxFS_READ | wxFS_SEEKABLE);
     if ( fsfile )
     {
 #if wxUSE_FILESYSTEM
     wxFSFile * const
         fsfile = GetCurFileSystem().OpenFile(name, wxFS_READ | wxFS_SEEKABLE);
     if ( fsfile )
     {
-        ani.Load(*fsfile->GetStream());
+        ani->Load(*fsfile->GetStream());
         delete fsfile;
     }
 #else
         delete fsfile;
     }
 #else
-    ani.LoadFile(name);
+    ani->LoadFile(name);
 #endif
 
 #endif
 
-    if ( !ani.IsOk() )
+    if ( !ani->IsOk() )
     {
         ReportParamError
         (
             param,
             wxString::Format("cannot create animation from \"%s\"", name)
         );
     {
         ReportParamError
         (
             param,
             wxString::Format("cannot create animation from \"%s\"", name)
         );
-        return wxNullAnimation;
+        return NULL;
     }
 
     }
 
-    return ani;
+    return ani.release();
 }
 #endif // wxUSE_ANIMATIONCTRL
 
 }
 #endif // wxUSE_ANIMATIONCTRL