- Possible fix for a crashing condition when the manager is shutdown

from the system tray icon.
        
    clientgui/
        BOINCBaseFrame.cpp
        BOINCTaskBar.cpp, .h

svn path=/trunk/boinc/; revision=12635
This commit is contained in:
Rom Walton 2007-05-10 15:41:10 +00:00
parent b8a306c696
commit d508c88a9a
4 changed files with 12 additions and 1 deletions

View File

@ -4685,3 +4685,11 @@ Charlie 10 May 2007
ViewResources.cpp
common/
wxPieCtrl.cpp
Rom 10 May 2007
- Possible fix for a crashing condition when the manager is shutdown
from the system tray icon.
clientgui/
BOINCBaseFrame.cpp
BOINCTaskBar.cpp, .h

View File

@ -309,7 +309,7 @@ void CBOINCBaseFrame::OnExit(wxCommandEvent& WXUNUSED(event)) {
// TaskBarIcon isn't used in Linux
#if defined(__WXMSW__) || defined(__WXMAC__)
CTaskBarIcon* pTBI = wxGetApp().GetTaskBarIcon();
if (pTBI)
if (pTBI && !pTBI->m_bTaskbarInitiatedShutdown)
delete pTBI;
#endif
Close(true);

View File

@ -85,6 +85,7 @@ CTaskBarIcon::CTaskBarIcon(wxString title, wxIcon* icon, wxIcon* iconDisconnecte
m_iconTaskBarDisconnected = *iconDisconnected;
m_iconTaskBarSnooze = *iconSnooze;
m_strDefaultTitle = title;
m_bTaskbarInitiatedShutdown = false;
m_dtLastHoverDetected = wxDateTime((time_t)0);
m_dtLastBalloonDisplayed = wxDateTime((time_t)0);
@ -116,6 +117,7 @@ void CTaskBarIcon::OnClose(wxCloseEvent& event) {
wxLogTrace(wxT("Function Start/End"), wxT("CTaskBarIcon::OnClose - Function Begin"));
ResetTaskBar();
m_bTaskbarInitiatedShutdown = true;
CBOINCBaseFrame* pFrame = wxGetApp().GetFrame();
if (pFrame) {

View File

@ -77,6 +77,7 @@ public:
wxIcon m_iconTaskBarDisconnected;
wxIcon m_iconTaskBarSnooze;
wxString m_strDefaultTitle;
bool m_bTaskbarInitiatedShutdown;
private:
wxDateTime m_dtLastHoverDetected;