diff --git a/checkin_notes b/checkin_notes index 62d7e8d04f..ba436ce546 100755 --- a/checkin_notes +++ b/checkin_notes @@ -5857,7 +5857,7 @@ Charlie 6 June 2007 boinc.xcodeproj/ project.pbxproj -Rom 6 June 2007 +Rom 7 June 2007 - WinSETUP: The VBS custom action should delete the existing VBS script in the various uninstall modes. @@ -5888,3 +5888,11 @@ Charlie 7 June 2007 uninstall.cpp make_GridRepublic.sh release_GridRepublic.sh + +Rom 7 June 2007 + - fixes #241: BOINC Manager should only display one of each + project, no mater how many time you switch to and from + the page. + + clientgui/ + ProjectInfoPage.cpp, .h diff --git a/clientgui/ProjectInfoPage.cpp b/clientgui/ProjectInfoPage.cpp index 34cfe498f0..d00ed4e175 100644 --- a/clientgui/ProjectInfoPage.cpp +++ b/clientgui/ProjectInfoPage.cpp @@ -90,6 +90,7 @@ bool CProjectInfoPage::Create( CBOINCBaseWizard* parent ) m_pProjectUrlStaticCtrl = NULL; m_pProjectUrlCtrl = NULL; ////@end CProjectInfoPage member initialisation + bProjectListPopulated = false; ////@begin CProjectInfoPage creation wxBitmap wizardBitmap(wxNullBitmap); @@ -251,12 +252,15 @@ void CProjectInfoPage::OnPageChanged( wxWizardExEvent& event ) { // Populate the combo box with project information // - pDoc->rpc.get_all_projects_list(pl); - for (i=0; iAppend( - wxString(pl.projects[i]->name.c_str(), wxConvUTF8), - wxString(pl.projects[i]->url.c_str(), wxConvUTF8) - ); + if (!bProjectListPopulated) { + pDoc->rpc.get_all_projects_list(pl); + for (i=0; iAppend( + wxString(pl.projects[i]->name.c_str(), wxConvUTF8), + wxString(pl.projects[i]->url.c_str(), wxConvUTF8) + ); + } + bProjectListPopulated = true; } Layout(); @@ -271,11 +275,6 @@ void CProjectInfoPage::OnPageChanged( wxWizardExEvent& event ) { */ void CProjectInfoPage::OnPageChanging( wxWizardExEvent& event ) { - - // Delete all existing entries - // - m_pProjectListCtrl->DeleteAllEntries(); - event.Skip(); } diff --git a/clientgui/ProjectInfoPage.h b/clientgui/ProjectInfoPage.h index fb13454876..ef00fb5a95 100644 --- a/clientgui/ProjectInfoPage.h +++ b/clientgui/ProjectInfoPage.h @@ -93,8 +93,8 @@ public: wxTextCtrl* m_pProjectUrlCtrl; wxString m_strProjectURL; ////@end CProjectInfoPage member variables - - ALL_PROJECTS_LIST pl; + bool bProjectListPopulated; + ALL_PROJECTS_LIST pl; }; #endif // _WIZ_PROJECTINFOPAGE_H_