summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinWX/ISOProperties.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DolphinWX/ISOProperties.cpp')
-rw-r--r--Source/Core/DolphinWX/ISOProperties.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/Source/Core/DolphinWX/ISOProperties.cpp b/Source/Core/DolphinWX/ISOProperties.cpp
index 4d08a5b008..f2ef327c10 100644
--- a/Source/Core/DolphinWX/ISOProperties.cpp
+++ b/Source/Core/DolphinWX/ISOProperties.cpp
@@ -755,7 +755,10 @@ void CISOProperties::OnExtractFile(wxCommandEvent& WXUNUSED (event))
if (OpenISO->IsWiiDisc())
{
- WiiPartition* partition = reinterpret_cast<WiiPartition*>(m_Treectrl->GetItemData(m_Treectrl->GetSelection()));
+ const wxTreeItemId tree_selection = m_Treectrl->GetSelection();
+ WiiPartition* partition = reinterpret_cast<WiiPartition*>(m_Treectrl->GetItemData(tree_selection));
+ File.erase(0, m_Treectrl->GetItemText(tree_selection).length() + 1); // Remove "Partition x/"
+
partition->FileSystem->ExportFile(WxStrToStr(File), WxStrToStr(Path));
}
else
@@ -897,8 +900,10 @@ void CISOProperties::OnExtractDir(wxCommandEvent& event)
if (OpenISO->IsWiiDisc())
{
- WiiPartition* partition = reinterpret_cast<WiiPartition*>(m_Treectrl->GetItemData(m_Treectrl->GetSelection()));
- Directory.erase(0, m_Treectrl->GetItemText(m_Treectrl->GetSelection()).length() + 1); // Remove "Partition x/"
+ const wxTreeItemId tree_selection = m_Treectrl->GetSelection();
+ WiiPartition* partition = reinterpret_cast<WiiPartition*>(m_Treectrl->GetItemData(tree_selection));
+ Directory.erase(0, m_Treectrl->GetItemText(tree_selection).length() + 1); // Remove "Partition x/"
+
ExportDir(WxStrToStr(Directory), WxStrToStr(Path), partition);
}
else