X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5c80cef4bf3c6bac25e412a253bcce4fa268620f..4b5e178a4c22caac92952131632641c63821fc0c:/src/common/fs_arc.cpp diff --git a/src/common/fs_arc.cpp b/src/common/fs_arc.cpp index a00e6accd7..9d7ae4fe10 100644 --- a/src/common/fs_arc.cpp +++ b/src/common/fs_arc.cpp @@ -17,12 +17,12 @@ #include "wx/fs_arc.h" -#ifndef WXPRECOMP +#ifndef WX_PRECOMP #include "wx/intl.h" #include "wx/log.h" #endif -#if WXWIN_COMPATIBILITY_2_6 +#if WXWIN_COMPATIBILITY_2_6 && wxUSE_ZIPSTREAM #include "wx/zipstrm.h" #else #include "wx/archive.h" @@ -395,27 +395,30 @@ wxFSFile* wxArchiveFSHandler::OpenFile( } wxArchiveInputStream *s = factory->NewStream(leftStream); + if ( !s ) + return NULL; + s->OpenEntry(*entry); - if (s && s->IsOk()) + if (!s->IsOk()) { -#if WXWIN_COMPATIBILITY_2_6 - if (factory->IsKindOf(CLASSINFO(wxZipClassFactory))) - ((wxZipInputStream*)s)->m_allowSeeking = true; + delete s; + return NULL; + } + +#if WXWIN_COMPATIBILITY_2_6 && wxUSE_ZIPSTREAM + if (factory->IsKindOf(CLASSINFO(wxZipClassFactory))) + ((wxZipInputStream*)s)->m_allowSeeking = true; #endif // WXWIN_COMPATIBILITY_2_6 - return new wxFSFile(s, - key + right, - GetMimeTypeFromExt(location), - GetAnchor(location) + return new wxFSFile(s, + key + right, + wxEmptyString, + GetAnchor(location) #if wxUSE_DATETIME - , entry->GetDateTime() + , entry->GetDateTime() #endif // wxUSE_DATETIME - ); - } - - delete s; - return NULL; + ); } wxString wxArchiveFSHandler::FindFirst(const wxString& spec, int flags)