m_fileSystem = new wxFileSystem();
 }
 
+wxWebViewArchiveHandler::~wxWebViewArchiveHandler()
+{
+    wxDELETE(m_fileSystem);
+}
+
 wxFSFile* wxWebViewArchiveHandler::GetFile(const wxString &uri)
 {
     //If there is a fragment at the end of the path then we need to strip it
             return NULL;
 
         wxString fspath = "file:" + 
-                          EscapeFileNameCharsInURL(path.substr(doubleslash + 2));
+                          EscapeFileNameCharsInURL(path.substr(doubleslash + 2).c_str());
         return m_fileSystem->OpenFile(fspath);
     }
     //Otherwise we need to extract the protocol
             return NULL;
 
         wxString fspath = "file:" + 
-                          EscapeFileNameCharsInURL(mainpath.substr(doubleslash + 2))
+                          EscapeFileNameCharsInURL(mainpath.substr(doubleslash + 2).c_str())
                           + "#" + protocol +":" + archivepath;
         return m_fileSystem->OpenFile(fspath);
     }