From a02bc43d441a4a5dea29e53711ac7a40dd3f8594 Mon Sep 17 00:00:00 2001 From: Rom Walton Date: Wed, 27 Jun 2012 18:36:20 +0000 Subject: [PATCH] - MGR: Wait until there is valid data in the list box before processing the OnProjectSelected() event. clientgui/ ProjectInfoPage.cpp svn path=/branches/boinc_core_release_7_0a/; revision=25810 --- checkin_notes | 28 ++++++---- clientgui/ProjectInfoPage.cpp | 101 +++++++++++++++++----------------- 2 files changed, 69 insertions(+), 60 deletions(-) diff --git a/checkin_notes b/checkin_notes index 0f4271a5a2a..b82512a7a84 100644 --- a/checkin_notes +++ b/checkin_notes @@ -3601,16 +3601,6 @@ Charlie 13 June 2012 client/ coproc_detect.cpp -David 14 June 2012 - - client: - - added the definitions for the new Windows 7/2008r2 preSP1 - and Windows 8/2012 SKUs based on the winnt.h - from the Windows 8 RC SKD (also added as proof) - - added the detection for some more Windows SKU - - client/ - hostinfo_win.cpp - Charlie 16 June 2012 - Mac installer: Fix bugs I introduced on May 3 and May 6. @@ -3634,6 +3624,23 @@ Charlie 18 June 2012 configure.ac version.h +Rom 30 May 2012 + - MGR: Wait until there is valid data in the list box before processing + the OnProjectSelected() event. + + clientgui/ + ProjectInfoPage.cpp + +David 14 June 2012 + - client: + - added the definitions for the new Windows 7/2008r2 preSP1 + and Windows 8/2012 SKUs based on the winnt.h + from the Windows 8 RC SKD (also added as proof) + - added the detection for some more Windows SKU + + client/ + hostinfo_win.cpp + David 18 June 2012 - client: split GPU detection code into separate files @@ -3724,6 +3731,7 @@ Charlie 22 June 2012 mac_installer/ release_boinc.sh +<<<<<<< .working Charlie 26 June 2012 - Mac client: Upgrade to curl 7.26.60 and c-ares 1.9.1. diff --git a/clientgui/ProjectInfoPage.cpp b/clientgui/ProjectInfoPage.cpp index 7df90e01c82..e64b4f405c2 100644 --- a/clientgui/ProjectInfoPage.cpp +++ b/clientgui/ProjectInfoPage.cpp @@ -488,56 +488,57 @@ void CProjectInfoPage::OnProjectCategorySelected( wxCommandEvent& WXUNUSED(event void CProjectInfoPage::OnProjectSelected( wxCommandEvent& WXUNUSED(event) ) { wxLogTrace(wxT("Function Start/End"), wxT("CProjectInfoPage::OnProjectSelected - Function Begin")); - CProjectInfo* pProjectInfo = (CProjectInfo*)m_pProjectsCtrl->GetClientData(m_pProjectsCtrl->GetSelection()); - - wxString strURL = pProjectInfo->m_strURL; - EllipseStringIfNeeded(strURL, m_pProjectDetailsURLCtrl); - - // Populate the project details area - wxString desc = pProjectInfo->m_strDescription; - // Change all occurrences of "n" to "^n" - desc.Replace(wxT(""), wxT("^"), true); - desc.Replace(wxT(""), wxT(""), true); - - m_pProjectDetailsDescriptionCtrl->SetValue(desc); - m_pProjectDetailsURLCtrl->SetLabel(strURL); - m_pProjectDetailsURLCtrl->SetURL(pProjectInfo->m_strURL); - // Set tooltip to full text in case ellipsed - m_pProjectDetailsURLCtrl->SetToolTip(pProjectInfo->m_strURL); - - m_pProjectDetailsSupportedPlatformWindowsCtrl->Hide(); - m_pProjectDetailsSupportedPlatformMacCtrl->Hide(); - m_pProjectDetailsSupportedPlatformLinuxCtrl->Hide(); - m_pProjectDetailsSupportedPlatformATICtrl->Hide(); - m_pProjectDetailsSupportedPlatformNvidiaCtrl->Hide(); - m_pProjectDetailsSupportedPlatformOpenCLCtrl->Hide(); - m_pProjectDetailsSupportedPlatformMultiCoreCtrl->Hide(); - if (pProjectInfo->m_bProjectSupportsWindows) m_pProjectDetailsSupportedPlatformWindowsCtrl->Show(); - if (pProjectInfo->m_bProjectSupportsMac) m_pProjectDetailsSupportedPlatformMacCtrl->Show(); - if (pProjectInfo->m_bProjectSupportsLinux) m_pProjectDetailsSupportedPlatformLinuxCtrl->Show(); - if (pProjectInfo->m_bProjectSupportsCAL) m_pProjectDetailsSupportedPlatformATICtrl->Show(); - if (pProjectInfo->m_bProjectSupportsCUDA) m_pProjectDetailsSupportedPlatformNvidiaCtrl->Show(); - if (pProjectInfo->m_bProjectSupportsOpenCL) m_pProjectDetailsSupportedPlatformOpenCLCtrl->Show(); - if (pProjectInfo->m_bProjectSupportsMulticore) m_pProjectDetailsSupportedPlatformMultiCoreCtrl->Show(); - - // Populate non-control data for use in other places of the wizard - SetProjectURL( pProjectInfo->m_strURL ); - SetProjectSupported( pProjectInfo->m_bSupportedPlatformFound ); - - TransferDataToWindow(); - Layout(); - - wxString strResearchArea = pProjectInfo->m_strSpecificArea; - EllipseStringIfNeeded(strResearchArea, m_pProjectDetailsResearchAreaCtrl); - m_pProjectDetailsResearchAreaCtrl->SetLabel(strResearchArea); - // Set tooltip to full text in case ellipsed - m_pProjectDetailsResearchAreaCtrl->SetToolTip(pProjectInfo->m_strSpecificArea); - - wxString strOrganization = pProjectInfo->m_strOrganization; - EllipseStringIfNeeded(strOrganization, m_pProjectDetailsOrganizationCtrl); - m_pProjectDetailsOrganizationCtrl->SetLabel(strOrganization); - // Set tooltip to full text in case ellipsed - m_pProjectDetailsOrganizationCtrl->SetToolTip(pProjectInfo->m_strOrganization); + if (m_pProjectsCtrl->GetSelection() != wxNOT_FOUND) { + + CProjectInfo* pProjectInfo = (CProjectInfo*)m_pProjectsCtrl->GetClientData(m_pProjectsCtrl->GetSelection()); + + // Populate the project details area + wxString desc = pProjectInfo->m_strDescription; + // Change all occurrences of "n" to "^n" + desc.Replace(wxT(""), wxT("^"), true); + desc.Replace(wxT(""), wxT(""), true); + + m_pProjectDetailsDescriptionCtrl->SetValue(desc); + m_pProjectDetailsURLCtrl->SetLabel(strURL); + m_pProjectDetailsURLCtrl->SetURL(pProjectInfo->m_strURL); + // Set tooltip to full text in case ellipsed + m_pProjectDetailsURLCtrl->SetToolTip(pProjectInfo->m_strURL); + + m_pProjectDetailsSupportedPlatformWindowsCtrl->Hide(); + m_pProjectDetailsSupportedPlatformMacCtrl->Hide(); + m_pProjectDetailsSupportedPlatformLinuxCtrl->Hide(); + m_pProjectDetailsSupportedPlatformATICtrl->Hide(); + m_pProjectDetailsSupportedPlatformNvidiaCtrl->Hide(); + m_pProjectDetailsSupportedPlatformOpenCLCtrl->Hide(); + m_pProjectDetailsSupportedPlatformMultiCoreCtrl->Hide(); + if (pProjectInfo->m_bProjectSupportsWindows) m_pProjectDetailsSupportedPlatformWindowsCtrl->Show(); + if (pProjectInfo->m_bProjectSupportsMac) m_pProjectDetailsSupportedPlatformMacCtrl->Show(); + if (pProjectInfo->m_bProjectSupportsLinux) m_pProjectDetailsSupportedPlatformLinuxCtrl->Show(); + if (pProjectInfo->m_bProjectSupportsCAL) m_pProjectDetailsSupportedPlatformATICtrl->Show(); + if (pProjectInfo->m_bProjectSupportsCUDA) m_pProjectDetailsSupportedPlatformNvidiaCtrl->Show(); + if (pProjectInfo->m_bProjectSupportsOpenCL) m_pProjectDetailsSupportedPlatformOpenCLCtrl->Show(); + if (pProjectInfo->m_bProjectSupportsMulticore) m_pProjectDetailsSupportedPlatformMultiCoreCtrl->Show(); + + // Populate non-control data for use in other places of the wizard + SetProjectURL( pProjectInfo->m_strURL ); + SetProjectSupported( pProjectInfo->m_bSupportedPlatformFound ); + + TransferDataToWindow(); + Layout(); + + wxString strResearchArea = pProjectInfo->m_strSpecificArea; + EllipseStringIfNeeded(strResearchArea, m_pProjectDetailsResearchAreaCtrl); + m_pProjectDetailsResearchAreaCtrl->SetLabel(strResearchArea); + // Set tooltip to full text in case ellipsed + m_pProjectDetailsResearchAreaCtrl->SetToolTip(pProjectInfo->m_strSpecificArea); + + wxString strOrganization = pProjectInfo->m_strOrganization; + EllipseStringIfNeeded(strOrganization, m_pProjectDetailsOrganizationCtrl); + m_pProjectDetailsOrganizationCtrl->SetLabel(strOrganization); + // Set tooltip to full text in case ellipsed + m_pProjectDetailsOrganizationCtrl->SetToolTip(pProjectInfo->m_strOrganization); + + } wxLogTrace(wxT("Function Start/End"), wxT("CProjectInfoPage::OnProjectSelected - Function End")); }