Let wxFileSystem use wxFFileInputstream and not
wxFileInoutStrea as that is broken on Macs.m git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15647 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -178,7 +178,7 @@ wxFSFile* wxLocalFSHandler::OpenFile(wxFileSystem& WXUNUSED(fs), const wxString&
|
|||||||
if (!wxFileExists(fn.GetFullPath()))
|
if (!wxFileExists(fn.GetFullPath()))
|
||||||
return (wxFSFile*) NULL;
|
return (wxFSFile*) NULL;
|
||||||
|
|
||||||
return new wxFSFile(new wxFileInputStream(fn.GetFullPath()),
|
return new wxFSFile(new wxFFileInputStream(fn.GetFullPath()),
|
||||||
right,
|
right,
|
||||||
GetMimeTypeFromExt(location),
|
GetMimeTypeFromExt(location),
|
||||||
GetAnchor(location),
|
GetAnchor(location),
|
||||||
@@ -259,22 +259,22 @@ void wxFileSystem::ChangePathTo(const wxString& location, bool is_dir)
|
|||||||
if (is_dir)
|
if (is_dir)
|
||||||
{
|
{
|
||||||
if (m_Path.Length() > 0 && m_Path.Last() != wxT('/') && m_Path.Last() != wxT(':'))
|
if (m_Path.Length() > 0 && m_Path.Last() != wxT('/') && m_Path.Last() != wxT(':'))
|
||||||
m_Path << wxT('/');
|
m_Path << wxT('/');
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for (i = m_Path.Length()-1; i >= 0; i--)
|
for (i = m_Path.Length()-1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
if (m_Path[(unsigned int) i] == wxT('/'))
|
if (m_Path[(unsigned int) i] == wxT('/'))
|
||||||
{
|
{
|
||||||
if ((i > 1) && (m_Path[(unsigned int) (i-1)] == wxT('/')) && (m_Path[(unsigned int) (i-2)] == wxT(':')))
|
if ((i > 1) && (m_Path[(unsigned int) (i-1)] == wxT('/')) && (m_Path[(unsigned int) (i-2)] == wxT(':')))
|
||||||
{
|
{
|
||||||
i -= 2;
|
i -= 2;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pathpos = i;
|
pathpos = i;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -285,20 +285,20 @@ void wxFileSystem::ChangePathTo(const wxString& location, bool is_dir)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (pathpos == -1)
|
if (pathpos == -1)
|
||||||
{
|
{
|
||||||
for (i = 0; i < (int) m_Path.Length(); i++)
|
for (i = 0; i < (int) m_Path.Length(); i++)
|
||||||
{
|
{
|
||||||
if (m_Path[(unsigned int) i] == wxT(':'))
|
if (m_Path[(unsigned int) i] == wxT(':'))
|
||||||
{
|
{
|
||||||
m_Path.Remove(i+1);
|
m_Path.Remove(i+1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (i == (int) m_Path.Length())
|
if (i == (int) m_Path.Length())
|
||||||
m_Path = wxEmptyString;
|
m_Path = wxEmptyString;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_Path.Remove(pathpos+1);
|
m_Path.Remove(pathpos+1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -333,10 +333,10 @@ wxFSFile* wxFileSystem::OpenFile(const wxString& location)
|
|||||||
{
|
{
|
||||||
node = m_Handlers.GetFirst();
|
node = m_Handlers.GetFirst();
|
||||||
while (node)
|
while (node)
|
||||||
{
|
{
|
||||||
wxFileSystemHandler *h = (wxFileSystemHandler*) node -> GetData();
|
wxFileSystemHandler *h = (wxFileSystemHandler*) node -> GetData();
|
||||||
if (h->CanOpen(m_Path + loc))
|
if (h->CanOpen(m_Path + loc))
|
||||||
{
|
{
|
||||||
s = h->OpenFile(*this, m_Path + loc);
|
s = h->OpenFile(*this, m_Path + loc);
|
||||||
if (s) { m_LastName = m_Path + loc; break; }
|
if (s) { m_LastName = m_Path + loc; break; }
|
||||||
}
|
}
|
||||||
@@ -349,10 +349,10 @@ wxFSFile* wxFileSystem::OpenFile(const wxString& location)
|
|||||||
{
|
{
|
||||||
node = m_Handlers.GetFirst();
|
node = m_Handlers.GetFirst();
|
||||||
while (node)
|
while (node)
|
||||||
{
|
{
|
||||||
wxFileSystemHandler *h = (wxFileSystemHandler*) node->GetData();
|
wxFileSystemHandler *h = (wxFileSystemHandler*) node->GetData();
|
||||||
if (h->CanOpen(loc))
|
if (h->CanOpen(loc))
|
||||||
{
|
{
|
||||||
s = h->OpenFile(*this, loc);
|
s = h->OpenFile(*this, loc);
|
||||||
if (s) { m_LastName = loc; break; }
|
if (s) { m_LastName = loc; break; }
|
||||||
}
|
}
|
||||||
@@ -470,12 +470,12 @@ class wxFileSystemModule : public wxModule
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
virtual void OnExit()
|
virtual void OnExit()
|
||||||
{
|
{
|
||||||
#if wxUSE_MIMETYPE
|
#if wxUSE_MIMETYPE
|
||||||
delete [] gs_FSMimeFallbacks;
|
delete [] gs_FSMimeFallbacks;
|
||||||
#endif
|
#endif
|
||||||
wxFileSystem::CleanUpHandlers();
|
wxFileSystem::CleanUpHandlers();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxFileSystemModule, wxModule)
|
IMPLEMENT_DYNAMIC_CLASS(wxFileSystemModule, wxModule)
|
||||||
|
Reference in New Issue
Block a user