summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorskidau <skidau@gmail.com>2015-04-27 19:45:21 +1000
committerskidau <skidau@gmail.com>2015-04-27 19:45:21 +1000
commitb8eecff5c99dd29e1b1db401e48df4d71d2bd44e (patch)
tree6beca0c337418db96cdaf96ad0f57719bebb34a6 /Source
parent472e28144561cd2a48bf9ec6b6ac8fdbfbc37501 (diff)
parentfbed0b4a9c0e64617c49592b70bbeda6abecb468 (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.cpp12
-rw-r--r--Source/Core/DolphinWX/ISOProperties.h2
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);