diff --git a/Source/Core/DolphinWX/ISOProperties/FilesystemPanel.cpp b/Source/Core/DolphinWX/ISOProperties/FilesystemPanel.cpp index 27f96cd3d14e..30de05ae5e59 100644 --- a/Source/Core/DolphinWX/ISOProperties/FilesystemPanel.cpp +++ b/Source/Core/DolphinWX/ISOProperties/FilesystemPanel.cpp @@ -159,10 +159,11 @@ FilesystemPanel::FilesystemPanel(wxWindow* parent, wxWindowID id, : wxPanel{parent, id}, m_opened_iso{opened_iso} { CreateGUI(); - BindEvents(); - PopulateFileSystemTree(); - - m_tree_ctrl->Expand(m_tree_ctrl->GetRootItem()); + if (PopulateFileSystemTree()) + { + BindEvents(); + m_tree_ctrl->Expand(m_tree_ctrl->GetRootItem()); + } } FilesystemPanel::~FilesystemPanel() = default; @@ -194,7 +195,7 @@ void FilesystemPanel::CreateGUI() SetSizer(main_sizer); } -void FilesystemPanel::PopulateFileSystemTree() +bool FilesystemPanel::PopulateFileSystemTree() { const std::vector partitions = m_opened_iso->GetPartitions(); m_has_partitions = !partitions.empty(); @@ -224,10 +225,12 @@ void FilesystemPanel::PopulateFileSystemTree() { m_filesystem = DiscIO::CreateFileSystem(m_opened_iso.get(), DiscIO::PARTITION_NONE); if (!m_filesystem) - return; + return false; CreateDirectoryTree(m_tree_ctrl, m_tree_ctrl->GetRootItem(), m_filesystem->GetFileList()); } + + return true; } void FilesystemPanel::OnRightClickTree(wxTreeEvent& event) diff --git a/Source/Core/DolphinWX/ISOProperties/FilesystemPanel.h b/Source/Core/DolphinWX/ISOProperties/FilesystemPanel.h index daa285f03692..e84e1b5fbea6 100644 --- a/Source/Core/DolphinWX/ISOProperties/FilesystemPanel.h +++ b/Source/Core/DolphinWX/ISOProperties/FilesystemPanel.h @@ -39,7 +39,7 @@ class FilesystemPanel final : public wxPanel void CreateGUI(); void BindEvents(); - void PopulateFileSystemTree(); + bool PopulateFileSystemTree(); void OnRightClickTree(wxTreeEvent&); void OnExtractFile(wxCommandEvent&);