diff options
| author | skidau <skidau@gmail.com> | 2015-04-27 19:45:21 +1000 |
|---|---|---|
| committer | skidau <skidau@gmail.com> | 2015-04-27 19:45:21 +1000 |
| commit | b8eecff5c99dd29e1b1db401e48df4d71d2bd44e (patch) | |
| tree | 6beca0c337418db96cdaf96ad0f57719bebb34a6 /Source | |
| parent | 472e28144561cd2a48bf9ec6b6ac8fdbfbc37501 (diff) | |
| parent | fbed0b4a9c0e64617c49592b70bbeda6abecb468 (diff) | |
Merge pull request #2325 from JosJuice/isoproperties-zero-files
ISOProperties: Correctly handle partitions with 0 files
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/DolphinWX/ISOProperties.cpp | 12 | ||||
| -rw-r--r-- | Source/Core/DolphinWX/ISOProperties.h | 2 |
2 files changed, 12 insertions, 2 deletions
diff --git a/Source/Core/DolphinWX/ISOProperties.cpp b/Source/Core/DolphinWX/ISOProperties.cpp index f2ef327c10..b1ec1260a3 100644 --- a/Source/Core/DolphinWX/ISOProperties.cpp +++ b/Source/Core/DolphinWX/ISOProperties.cpp @@ -255,7 +255,7 @@ CISOProperties::CISOProperties(const std::string fileName, wxWindow* parent, wxW wxTreeItemId PartitionRoot = m_Treectrl->AppendItem(RootId, wxString::Format(_("Partition %i"), partition_count), 0, 0); m_Treectrl->SetItemData(PartitionRoot, new WiiPartition(partition)); - CreateDirectoryTree(PartitionRoot, partition.Files, 1, partition.Files.at(0)->m_FileSize); + CreateDirectoryTree(PartitionRoot, partition.Files); if (partition_count == 1) m_Treectrl->Expand(PartitionRoot); partition_count++; @@ -275,7 +275,7 @@ CISOProperties::CISOProperties(const std::string fileName, wxWindow* parent, wxW if (pFileSystem) pFileSystem->GetFileList(GCFiles); if (!GCFiles.empty()) - CreateDirectoryTree(RootId, GCFiles, 1, GCFiles.at(0)->m_FileSize); + CreateDirectoryTree(RootId, GCFiles); } m_Treectrl->Expand(RootId); @@ -292,6 +292,14 @@ CISOProperties::~CISOProperties() delete OpenISO; } +size_t CISOProperties::CreateDirectoryTree(wxTreeItemId& parent, std::vector<const DiscIO::SFileInfo*> fileInfos) +{ + if (fileInfos.empty()) + return 0; + else + return CreateDirectoryTree(parent, fileInfos, 1, fileInfos.at(0)->m_FileSize); +} + size_t CISOProperties::CreateDirectoryTree(wxTreeItemId& parent, std::vector<const DiscIO::SFileInfo*> fileInfos, const size_t _FirstIndex, diff --git a/Source/Core/DolphinWX/ISOProperties.h b/Source/Core/DolphinWX/ISOProperties.h index cf771942ff..36c539bbbc 100644 --- a/Source/Core/DolphinWX/ISOProperties.h +++ b/Source/Core/DolphinWX/ISOProperties.h @@ -222,6 +222,8 @@ private: typedef std::vector<const DiscIO::SFileInfo*>::iterator fileIter; size_t CreateDirectoryTree(wxTreeItemId& parent, + std::vector<const DiscIO::SFileInfo*> fileInfos); + size_t CreateDirectoryTree(wxTreeItemId& parent, std::vector<const DiscIO::SFileInfo*> fileInfos, const size_t _FirstIndex, const size_t _LastIndex); |
