X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..f8d791e0a41f1021a69c3d6320ee6934c0dd7f36:/src/common/fs_mem.cpp diff --git a/src/common/fs_mem.cpp b/src/common/fs_mem.cpp index d1e3b30179..b3c156edd6 100644 --- a/src/common/fs_mem.cpp +++ b/src/common/fs_mem.cpp @@ -8,7 +8,7 @@ #ifdef __GNUG__ -#pragma implementation +#pragma implementation "fs_mem.h" #endif #include "wx/wxprec.h" @@ -20,18 +20,19 @@ #if wxUSE_FILESYSTEM && wxUSE_STREAMS #ifndef WXPRECOMP -#include "wx/wx.h" + #include "wx/intl.h" + #include "wx/log.h" + #include "wx/hash.h" #endif #include "wx/filesys.h" #include "wx/fs_mem.h" #include "wx/mstream.h" - class MemFSHashObj : public wxObject { public: - + MemFSHashObj(const void *data, size_t len) { m_Data = new char[len]; @@ -39,7 +40,7 @@ class MemFSHashObj : public wxObject m_Len = len; m_Time = wxDateTime::Now(); } - + MemFSHashObj(wxMemoryOutputStream& stream) { m_Len = stream.GetSize(); @@ -47,12 +48,12 @@ class MemFSHashObj : public wxObject stream.CopyTo(m_Data, m_Len); m_Time = wxDateTime::Now(); } - + ~MemFSHashObj() { delete[] m_Data; } - + char *m_Data; size_t m_Len; wxDateTime m_Time; @@ -69,7 +70,6 @@ wxHashTable *wxMemoryFSHandler::m_Hash = NULL; wxMemoryFSHandler::wxMemoryFSHandler() : wxFileSystemHandler() { - m_Hash = NULL; } @@ -79,8 +79,8 @@ wxMemoryFSHandler::~wxMemoryFSHandler() // as only one copy of FS handler is supposed to exist, we may silently // delete static data here. (There is no way how to remove FS handler from // wxFileSystem other than releasing _all_ handlers.) - - if (m_Hash) delete m_Hash; + + if (m_Hash) delete m_Hash; m_Hash = NULL; } @@ -132,12 +132,12 @@ wxString wxMemoryFSHandler::FindNext() bool wxMemoryFSHandler::CheckHash(const wxString& filename) { - if (m_Hash == NULL) + if (m_Hash == NULL) { m_Hash = new wxHashTable(wxKEY_STRING); m_Hash -> DeleteContents(TRUE); } - + if (m_Hash -> Get(filename) != NULL) { wxString s; @@ -157,7 +157,7 @@ bool wxMemoryFSHandler::CheckHash(const wxString& filename) { if (!CheckHash(filename)) return; - + wxMemoryOutputStream mems; if (image.Ok() && image.SaveFile(mems, (int)type)) m_Hash -> Put(filename, new MemFSHashObj(mems)); @@ -173,7 +173,7 @@ bool wxMemoryFSHandler::CheckHash(const wxString& filename) /*static*/ void wxMemoryFSHandler::AddFile(const wxString& filename, const wxBitmap& bitmap, long type) { - wxImage img(bitmap); + wxImage img = bitmap.ConvertToImage(); AddFile(filename, img, type); }