diff --git a/Source/Core/DiscIO/Src/FileSystemGCWii.cpp b/Source/Core/DiscIO/Src/FileSystemGCWii.cpp index 31efdb0ec4..d0fb6f387a 100644 --- a/Source/Core/DiscIO/Src/FileSystemGCWii.cpp +++ b/Source/Core/DiscIO/Src/FileSystemGCWii.cpp @@ -161,6 +161,9 @@ void CFileSystemGCWii::GetStringFromOffset(u64 _Offset, char* Filename) const size_t CFileSystemGCWii::GetFileList(std::vector *_rFilenames) { + if(_rFilenames == NULL) + return m_FileInfoVector.size(); + (*_rFilenames).resize(m_FileInfoVector.size()); for (size_t i = 0; i < m_FileInfoVector.size(); i++) { diff --git a/Source/Core/DolphinWX/Src/FilesystemViewer.cpp b/Source/Core/DolphinWX/Src/FilesystemViewer.cpp index 72f08ad8e9..36fbf9e3af 100644 --- a/Source/Core/DolphinWX/Src/FilesystemViewer.cpp +++ b/Source/Core/DolphinWX/Src/FilesystemViewer.cpp @@ -41,12 +41,12 @@ CFilesystemViewer::CFilesystemViewer(const std::string fileName, wxWindow* paren { OpenIso = DiscIO::CreateVolumeFromFilename(fileName); pFileSystem = DiscIO::CreateFileSystem(*OpenIso); - std::vector Our_Files; - pFileSystem->GetFileList(&Our_Files); + std::vector *Our_Files = new std::vector[pFileSystem->GetFileList(NULL)]; + pFileSystem->GetFileList(Our_Files); CreateGUIControls(); - for(u32 a = 0;a < Our_Files.size();++a) - m_Treectrl->AppendItem(RootId, wxString::FromAscii(Our_Files[a].m_FullPath));//printf("%d dir? %s '%s'\n", a, Our_Files[a].IsDirectory() ? "True" : "False", Our_Files[a].m_FullPath); + for(u32 a = 0;a < Our_Files->size();++a) + m_Treectrl->AppendItem(RootId, wxString::FromAscii((*Our_Files)[a].m_FullPath));//printf("%d dir? %s '%s'\n", a, Our_Files[a].IsDirectory() ? "True" : "False", Our_Files[a].m_FullPath); } CFilesystemViewer::~CFilesystemViewer()