mirror of https://github.com/BOINC/boinc.git
MGR: suspend periodic RPCs only when displaying SafeMessageBox()
svn path=/trunk/boinc/; revision=17568
This commit is contained in:
parent
7ad189225a
commit
f39adfedb0
|
@ -2943,11 +2943,18 @@ Rom 9 Mar 2009
|
|||
- MGR: Save state before exit.
|
||||
|
||||
clientgui/
|
||||
BOINCBaseFrame.cpp
|
||||
BOINCGUIApp.cpp
|
||||
BOINCBaseFrame.cpp
|
||||
BOINCGUIApp.cpp
|
||||
|
||||
Charlie 9 Mar 2009
|
||||
- MGR: CBOINCBaseFrame::FireRestoreState() calls ProcessEvent()
|
||||
on Mac instead of AddPendingEvent() to avoid displaying Disk
|
||||
tab for an instant when showing the Window on manual launch.
|
||||
- MGR: suspend periodic RPCs only when displaying SafeMessageBox()
|
||||
not for all dialogs, so tabs can update during Preferences
|
||||
dialog, etc.
|
||||
|
||||
clientgui/
|
||||
BOINCBaseFrame.cpp
|
||||
BOINCGUIApp.h
|
||||
MainDocument.cpp
|
||||
|
|
|
@ -180,6 +180,7 @@ public:
|
|||
void ShowApplication(bool bShow);
|
||||
|
||||
bool IsModalDialogDisplayed();
|
||||
bool IsSafeMesageBoxDisplayed() { return (m_bSafeMessageBoxDisplayed != 0); };
|
||||
|
||||
int FilterEvent(wxEvent &event);
|
||||
|
||||
|
|
|
@ -808,11 +808,12 @@ void CMainDocument::RunPeriodicRPCs() {
|
|||
// or project in a demand RPC call. If Periodic RPCs continue
|
||||
// to run during these dialogs, that pointer may no longer be
|
||||
// valid by the time the demand RPC is executed. So we suspend
|
||||
// periodic RPCs during modal dialogs.
|
||||
// periodic RPCs during certain modal dialogs.
|
||||
//
|
||||
// Note that this depends on using wxGetApp().SafeMessageBox()
|
||||
// instead of wxMessageBox in all tab views.
|
||||
if (wxGetApp().IsModalDialogDisplayed() && (currentTabView != (VW_SGUI | VW_SMSG)) ) {
|
||||
// instead of wxMessageBox in all tab views and anywhere else
|
||||
// where a periodic RPC could cause a similar problem.
|
||||
if (wxGetApp().IsSafeMesageBoxDisplayed()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue