mirror of https://github.com/BOINC/boinc.git
Mgr: ignore timer events during RPC Wait dialog to prevent unintended recursion and crashes
svn path=/trunk/boinc/; revision=16025
This commit is contained in:
parent
9758c47ffe
commit
ab04d935e8
|
@ -7557,7 +7557,7 @@ David 18 Sept 2008
|
|||
clientgui/
|
||||
AsyncRPC.cpp,h
|
||||
|
||||
Charlie 18 Sep 2008
|
||||
Charlie 19 Sep 2008
|
||||
Mgr: The system handles timer events during modal dialogs, such as
|
||||
while the RPC Wait dialog is shown. This may cause unintended
|
||||
recursion and repeatedly posting the same RPC requests from
|
||||
|
@ -7567,3 +7567,4 @@ Charlie 18 Sep 2008
|
|||
clientgui/
|
||||
BOINCBaseFrame.cpp
|
||||
MainDocument.cpp,.h
|
||||
sg_BoincSimpleGUI.cpp
|
||||
|
|
|
@ -547,6 +547,13 @@ void CSimplePanel::OnProjectsAttachToProject() {
|
|||
// called from CSimpleFrame::OnRefreshView()
|
||||
void CSimplePanel::OnFrameRender() {
|
||||
CMainDocument* pDoc = wxGetApp().GetDocument();
|
||||
wxASSERT(pDoc);
|
||||
|
||||
// OnFrameRender() may be called while SimpleGUI initialization is
|
||||
// in progress due to completion of a periodic get_messages RPC,
|
||||
// causing unintended recursion in CMainDocument::RequestRPC().
|
||||
// Check for that situation here.
|
||||
if (pDoc->WaitingForRPC()) return;
|
||||
|
||||
if (IsShown()) {
|
||||
|
||||
|
|
Loading…
Reference in New Issue