mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=5007
This commit is contained in:
parent
5d620b4e67
commit
21e4ccea93
|
@ -22125,10 +22125,16 @@ Rom 6 Jan 2005
|
|||
populate the regular tooltip field as it will appear before
|
||||
the bubble request and makes the taskbar applet appear
|
||||
ugly
|
||||
- Bug Fix: The new gui should enforce closing down the core client
|
||||
when it launches the core client, we were using the wxWidget
|
||||
framework to do this, but the call to wxProcess::Exists causes
|
||||
an assert on Windows if the process doesn't exist. And sometimes
|
||||
crashes in a release build.
|
||||
|
||||
client/win/
|
||||
wingui_mainwindow.cpp
|
||||
clientgui/
|
||||
BOINCGUIApp.cpp, .h
|
||||
BOINCBaseView.cpp
|
||||
ViewMessages.cpp
|
||||
ViewProjects.cpp
|
||||
|
|
|
@ -50,7 +50,8 @@ bool CBOINCGUIApp::OnInit()
|
|||
// Setup variables with default values
|
||||
m_bBOINCStartedByManager = false;
|
||||
m_bFrameVisible = true;
|
||||
m_lBOINCCoreProccessId = 0;
|
||||
m_lBOINCCoreProcessId = 0;
|
||||
m_hBOINCCoreProcess = NULL;
|
||||
|
||||
// Enable Trace Masks
|
||||
//wxLog::AddTraceMask( wxT("Function Start/End") );
|
||||
|
@ -287,7 +288,8 @@ void CBOINCGUIApp::StartupBOINCCore()
|
|||
);
|
||||
if (bProcessStarted)
|
||||
{
|
||||
m_lBOINCCoreProccessId = pi.dwProcessId;
|
||||
m_lBOINCCoreProcessId = pi.dwProcessId;
|
||||
m_hBOINCCoreProcess = pi.hProcess;
|
||||
}
|
||||
|
||||
#else
|
||||
|
@ -298,7 +300,7 @@ void CBOINCGUIApp::StartupBOINCCore()
|
|||
|
||||
#endif
|
||||
|
||||
if ( 0 != m_lBOINCCoreProccessId )
|
||||
if ( 0 != m_lBOINCCoreProcessId )
|
||||
m_bBOINCStartedByManager = true;
|
||||
}
|
||||
}
|
||||
|
@ -311,23 +313,27 @@ void CBOINCGUIApp::ShutdownBOINCCore()
|
|||
|
||||
if ( m_bBOINCStartedByManager )
|
||||
{
|
||||
if ( wxProcess::Exists( m_lBOINCCoreProccessId ) )
|
||||
if ( wxProcess::Exists( m_lBOINCCoreProcessId ) )
|
||||
{
|
||||
m_pDocument->CoreClientQuit();
|
||||
/*
|
||||
for ( iCount = 0; iCount <= 10; iCount++ )
|
||||
{
|
||||
if ( !bClientQuit && !wxProcess::Exists( m_lBOINCCoreProccessId ) )
|
||||
#ifdef __WXMSW__
|
||||
DWORD dwExitCode;
|
||||
if ( !bClientQuit && GetExitCodeProcess( m_hBOINCCoreProcess, &dwExitCode ) )
|
||||
{
|
||||
bClientQuit = true;
|
||||
continue;
|
||||
if ( STILL_ACTIVE != dwExitCode )
|
||||
{
|
||||
bClientQuit = true;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
::wxSleep(1);
|
||||
}
|
||||
|
||||
if ( !bClientQuit )
|
||||
::wxKill( m_lBOINCCoreProccessId );
|
||||
*/
|
||||
::wxKill( m_lBOINCCoreProcessId );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -68,9 +68,10 @@ protected:
|
|||
bool m_bBOINCStartedByManager;
|
||||
bool m_bFrameVisible;
|
||||
|
||||
long m_lBOINCCoreProccessId;
|
||||
long m_lBOINCCoreProcessId;
|
||||
|
||||
#ifdef __WXMSW__
|
||||
HANDLE m_hBOINCCoreProcess;
|
||||
HINSTANCE m_hIdleDll;
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue