*** empty log message ***

svn path=/trunk/boinc/; revision=8791
This commit is contained in:
Rom Walton 2005-11-02 18:28:45 +00:00
parent ff725f9778
commit 6aa03769c4
8 changed files with 138 additions and 90 deletions

View File

@ -13515,3 +13515,19 @@ Charlie 1 Nov 2005
mac_build/
boinc.pbproj/
project.pbxproj
Rom 2 Nov 2005
- Catch exceptions thrown by the STL library when vectors may not contain
the requested data. For some reason the list views are trying to
populate themselves with data during a connection cycle which means
the various tabs cache's are empty. We now just return an empty string
in this condition. This should clean up a few crash conditions on
platforms other than Windows.
clientgui/
BOINCBaseView.cpp
MainFrame.cpp
ViewProjects.cpp
ViewResources.cpp
ViewTransfers.cpp
ViewWork.cpp

View File

@ -338,9 +338,9 @@ int CBOINCBaseView::SyncronizeCache() {
int iRowTotal = 0;
int iColumnIndex = 0;
int iColumnTotal = 0;
wxString strDocumentText = wxEmptyString;
wxString strListPaneText = wxEmptyString;
bool bNeedRefreshData = false;
wxString strDocumentText = wxEmptyString;
wxString strListPaneText = wxEmptyString;
bool bNeedRefreshData = false;
iRowTotal = GetDocCount();
iColumnTotal = m_pListPane->GetColumnCount();

View File

@ -1372,7 +1372,7 @@ void CMainFrame::OnConnect(CMainFrameEvent&) {
m_pFrameListPanelRenderTimer->Start();
m_pDocumentPollTimer->Start();
m_pNotebook->SetSelection(ID_LIST_MESSAGESVIEW - ID_LIST_BASE);
m_pNotebook->SetSelection(ID_TASK_MESSAGESVIEW - ID_TASK_BASE);
}
wxLogTrace(wxT("Function Start/End"), wxT("CMainFrame::OnConnect - Function End"));

View File

@ -398,31 +398,39 @@ wxInt32 CViewProjects::GetDocCount() {
wxString CViewProjects::OnListGetItemText(long item, long column) const {
CProject* project = m_ProjectCache.at(item);
CProject* project = NULL;
wxString strBuffer = wxEmptyString;
switch(column) {
case COLUMN_PROJECT:
strBuffer = project->m_strProjectName;
break;
case COLUMN_ACCOUNTNAME:
strBuffer = project->m_strAccountName;
break;
case COLUMN_TEAMNAME:
strBuffer = project->m_strTeamName;
break;
case COLUMN_TOTALCREDIT:
strBuffer = project->m_strTotalCredit;
break;
case COLUMN_AVGCREDIT:
strBuffer = project->m_strAVGCredit;
break;
case COLUMN_RESOURCESHARE:
strBuffer = project->m_strResourceShare;
break;
case COLUMN_STATUS:
strBuffer = project->m_strStatus;
break;
try {
project = m_ProjectCache.at(item);
} catch ( std::out_of_range ) {
project = NULL;
}
if (project) {
switch(column) {
case COLUMN_PROJECT:
strBuffer = project->m_strProjectName;
break;
case COLUMN_ACCOUNTNAME:
strBuffer = project->m_strAccountName;
break;
case COLUMN_TEAMNAME:
strBuffer = project->m_strTeamName;
break;
case COLUMN_TOTALCREDIT:
strBuffer = project->m_strTotalCredit;
break;
case COLUMN_AVGCREDIT:
strBuffer = project->m_strAVGCredit;
break;
case COLUMN_RESOURCESHARE:
strBuffer = project->m_strResourceShare;
break;
case COLUMN_STATUS:
strBuffer = project->m_strStatus;
break;
}
}
return strBuffer;

View File

@ -108,17 +108,25 @@ wxInt32 CViewResources::GetDocCount() {
wxString CViewResources::OnListGetItemText(long item, long column) const {
CResource* resource = m_ResourceCache.at(item);
CResource* resource = NULL;
wxString strBuffer = wxEmptyString;
switch(column)
{
case COLUMN_PROJECT:
strBuffer = resource->m_strProjectName;
break;
case COLUMN_DISKSPACE:
strBuffer = resource->m_strDiskSpace;
break;
try {
resource = m_ResourceCache.at(item);
} catch ( std::out_of_range ) {
resource = NULL;
}
if (resource) {
switch(column)
{
case COLUMN_PROJECT:
strBuffer = resource->m_strProjectName;
break;
case COLUMN_DISKSPACE:
strBuffer = resource->m_strDiskSpace;
break;
}
}
return strBuffer;

View File

@ -221,28 +221,36 @@ wxString CViewTransfers::OnListGetItemText(long item, long column) const {
CTransfer* transfer = m_TransferCache.at(item);
wxString strBuffer = wxEmptyString;
switch(column) {
case COLUMN_PROJECT:
strBuffer = transfer->m_strProjectName;
break;
case COLUMN_FILE:
strBuffer = transfer->m_strFileName;
break;
case COLUMN_PROGRESS:
strBuffer = transfer->m_strProgress;
break;
case COLUMN_SIZE:
strBuffer = transfer->m_strSize;
break;
case COLUMN_TIME:
strBuffer = transfer->m_strTime;
break;
case COLUMN_SPEED:
strBuffer = transfer->m_strSpeed;
break;
case COLUMN_STATUS:
strBuffer = transfer->m_strStatus;
break;
try {
transfer = m_TransferCache.at(item);
} catch ( std::out_of_range ) {
transfer = NULL;
}
if (transfer) {
switch(column) {
case COLUMN_PROJECT:
strBuffer = transfer->m_strProjectName;
break;
case COLUMN_FILE:
strBuffer = transfer->m_strFileName;
break;
case COLUMN_PROGRESS:
strBuffer = transfer->m_strProgress;
break;
case COLUMN_SIZE:
strBuffer = transfer->m_strSize;
break;
case COLUMN_TIME:
strBuffer = transfer->m_strTime;
break;
case COLUMN_SPEED:
strBuffer = transfer->m_strSpeed;
break;
case COLUMN_STATUS:
strBuffer = transfer->m_strStatus;
break;
}
}
return strBuffer;

View File

@ -293,34 +293,42 @@ wxInt32 CViewWork::GetDocCount() {
wxString CViewWork::OnListGetItemText(long item, long column) const {
CWork* work = m_WorkCache.at(item);
CWork* work = NULL;
wxString strBuffer = wxEmptyString;
switch(column) {
case COLUMN_PROJECT:
strBuffer = work->m_strProjectName;
break;
case COLUMN_APPLICATION:
strBuffer = work->m_strApplicationName;
break;
case COLUMN_NAME:
strBuffer = work->m_strName;
break;
case COLUMN_CPUTIME:
strBuffer = work->m_strCPUTime;
break;
case COLUMN_PROGRESS:
strBuffer = work->m_strProgress;
break;
case COLUMN_TOCOMPLETION:
strBuffer = work->m_strTimeToCompletion;
break;
case COLUMN_REPORTDEADLINE:
strBuffer = work->m_strReportDeadline;
break;
case COLUMN_STATUS:
strBuffer = work->m_strStatus;
break;
try {
work = m_WorkCache.at(item);
} catch ( std::out_of_range ) {
work = NULL;
}
if (work) {
switch(column) {
case COLUMN_PROJECT:
strBuffer = work->m_strProjectName;
break;
case COLUMN_APPLICATION:
strBuffer = work->m_strApplicationName;
break;
case COLUMN_NAME:
strBuffer = work->m_strName;
break;
case COLUMN_CPUTIME:
strBuffer = work->m_strCPUTime;
break;
case COLUMN_PROGRESS:
strBuffer = work->m_strProgress;
break;
case COLUMN_TOCOMPLETION:
strBuffer = work->m_strTimeToCompletion;
break;
case COLUMN_REPORTDEADLINE:
strBuffer = work->m_strReportDeadline;
break;
case COLUMN_STATUS:
strBuffer = work->m_strStatus;
break;
}
}
return strBuffer;

View File

@ -147,9 +147,6 @@
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath="..\clientgui\BOINCBaseView.cpp">
</File>
<File
RelativePath="..\clientgui\BOINCGUIApp.cpp">
</File>
@ -235,9 +232,6 @@
<File
RelativePath="..\clientgui\_wx_intellisense.h">
</File>
<File
RelativePath="..\clientgui\BOINCBaseView.h">
</File>
<File
RelativePath="..\clientgui\BOINCGUIApp.h">
</File>
@ -519,6 +513,12 @@
<Filter
Name="Views"
Filter="">
<File
RelativePath="..\clientgui\BOINCBaseView.cpp">
</File>
<File
RelativePath="..\clientgui\BOINCBaseView.h">
</File>
<File
RelativePath="..\clientgui\ViewMessages.cpp">
</File>