From da37950ad66f178b7a6d2c67dfc7604f4b61c84b Mon Sep 17 00:00:00 2001 From: Brian Nixon Date: Sun, 9 Apr 2023 22:48:17 +0100 Subject: [PATCH] Avoid crash if account manager list is empty --- clientgui/AccountManagerInfoPage.cpp | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/clientgui/AccountManagerInfoPage.cpp b/clientgui/AccountManagerInfoPage.cpp index 394ca803d5e..535a2a5335e 100644 --- a/clientgui/AccountManagerInfoPage.cpp +++ b/clientgui/AccountManagerInfoPage.cpp @@ -339,16 +339,19 @@ void CAccountManagerInfoPage::OnPageChanging( wxWizardExEvent& event ) { if (event.GetDirection() == false) return; CWizardAttach* pWA = ((CWizardAttach*)GetParent()); - CAcctMgrListItem* pItem = (CAcctMgrListItem*)(m_pProjectListCtrl->GetClientData(m_pProjectListCtrl->GetSelection())); - - // Update authoritative data in CWizardAttach - if (m_pProjectUrlCtrl->GetValue() == pItem->GetURL()) { - pWA->SetProjectURL(pItem->GetURL()); - pWA->SetProjectName(pItem->GetName()); - } else { - pWA->SetProjectURL(m_pProjectUrlCtrl->GetValue()); - pWA->SetProjectName(m_pProjectUrlCtrl->GetValue()); - } + wxString url = m_pProjectUrlCtrl->GetValue(); + wxString name = url; + int sel = m_pProjectListCtrl->GetSelection(); + if (sel != wxNOT_FOUND) { + CAcctMgrListItem* pItem = (CAcctMgrListItem*)(m_pProjectListCtrl->GetClientData(sel)); + // Update authoritative data in CWizardAttach + if (m_pProjectUrlCtrl->GetValue() == pItem->GetURL()) { + url = pItem->GetURL(); + name = pItem->GetName(); + } + } + pWA->SetProjectURL(url); + pWA->SetProjectName(name); } /*!