]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xmladv.cpp
wxRTC: save and load the 'shown' status in case there's a situation where layout...
[wxWidgets.git] / src / xrc / xmladv.cpp
index 6f6f36067a5608f97e49f6c2183e3bc55740e8b6..d1a057c92e824d22e80140d0e9c100d5791d8757 100644 (file)
@@ -5,7 +5,6 @@
 //              linking wxAdv even if the latter is not used at all.
 // Author:      Vadim Zeitlin (extracted from src/xrc/xmlres.cpp)
 // Created:     2008-08-02
-// RCS-ID:      $Id$
 // Copyright:   (c) 2000 Vaclav Slavik
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
     #include "wx/log.h"
 #endif // WX_PRECOMP
 
+#include "wx/animate.h"
+#include "wx/scopedptr.h"
+
 // ============================================================================
 // implementation
 // ============================================================================
 
 #if wxUSE_ANIMATIONCTRL
-wxAnimation wxXmlResourceHandlerImpl::GetAnimation(const wxString& param)
+wxAnimation* wxXmlResourceHandlerImpl::GetAnimation(const wxString& param)
 {
     const wxString name = GetParamValue(param);
     if ( name.empty() )
-        return wxNullAnimation;
+        return NULL;
 
     // 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 )
     {
-        ani.Load(*fsfile->GetStream());
+        ani->Load(*fsfile->GetStream());
         delete fsfile;
     }
 #else
-    ani.LoadFile(name);
+    ani->LoadFile(name);
 #endif
 
-    if ( !ani.IsOk() )
+    if ( !ani->IsOk() )
     {
         ReportParamError
         (
             param,
             wxString::Format("cannot create animation from \"%s\"", name)
         );
-        return wxNullAnimation;
+        return NULL;
     }
 
-    return ani;
+    return ani.release();
 }
 #endif // wxUSE_ANIMATIONCTRL