- Fix a crash condition when BOINC is started as a standard user account

without the 'create global named objects' user right on Vista.
    - WINSETUP: Make sure that BOINC Tray is started for all users on the
        system.
    - WINSETUP: If the 'All users can control BOINC' checkbox is checked then
        put the BOINC Manager startup short cut in the 'all users' startup directory
        otherwise put it in the 'users' startup directory.
        
    clientlib/win/
        IdleTracker.cpp
    win_build/installerv2/
        BOINC.ism
    win_build/installerv2/redist/Windows/src/boinccas/
        boinccas.rc
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

svn path=/trunk/boinc/; revision=14531
This commit is contained in:
Rom Walton 2008-01-11 17:14:11 +00:00
parent 869691f3a3
commit ba42d89a33
8 changed files with 47 additions and 22 deletions

View File

@ -314,3 +314,25 @@ David Jan 10 2008
client/
cs_prefs.C
Rom Jan 11 2008
- Fix a crash condition when BOINC is started as a standard user account
without the 'create global named objects' user right on Vista.
- WINSETUP: Make sure that BOINC Tray is started for all users on the
system.
- WINSETUP: If the 'All users can control BOINC' checkbox is checked then
put the BOINC Manager startup short cut in the 'all users' startup directory
otherwise put it in the 'users' startup directory.
clientlib/win/
IdleTracker.cpp
win_build/installerv2/
BOINC.ism
win_build/installerv2/redist/Windows/src/boinccas/
boinccas.rc
win_build/installerv2/redist/Windows/Win32/
boinccas.dll
boinccas95.dll
win_build/installerv2/redist/Windows/x64/
boinccas.dll
boinccas95.dll

View File

@ -104,26 +104,29 @@ EXTERN_C __declspec(dllexport) DWORD BOINCGetIdleTickCount()
if ( g_bIsWindows2000Compatible )
{
LASTINPUTINFO lii;
ZeroMemory( &lii, sizeof(lii) );
lii.cbSize = sizeof(lii);
g_fnGetLastInputInfo( &lii );
/**
* If both values are greater than the system tick count then
* the system must have looped back to the begining.
**/
if ( ( dwCurrentTickCount < lii.dwTime ) &&
( dwCurrentTickCount < g_pSystemWideIdleData->dwLastTick ) )
if ( g_pSystemWideIdleData )
{
lii.dwTime = dwCurrentTickCount;
g_pSystemWideIdleData->dwLastTick = dwCurrentTickCount;
LASTINPUTINFO lii;
ZeroMemory( &lii, sizeof(lii) );
lii.cbSize = sizeof(lii);
g_fnGetLastInputInfo( &lii );
/**
* If both values are greater than the system tick count then
* the system must have looped back to the beginning.
**/
if ( ( dwCurrentTickCount < lii.dwTime ) &&
( dwCurrentTickCount < g_pSystemWideIdleData->dwLastTick ) )
{
lii.dwTime = dwCurrentTickCount;
g_pSystemWideIdleData->dwLastTick = dwCurrentTickCount;
}
if ( lii.dwTime > g_pSystemWideIdleData->dwLastTick )
g_pSystemWideIdleData->dwLastTick = lii.dwTime;
dwLastTickCount = g_pSystemWideIdleData->dwLastTick;
}
if ( lii.dwTime > g_pSystemWideIdleData->dwLastTick )
g_pSystemWideIdleData->dwLastTick = lii.dwTime;
dwLastTickCount = g_pSystemWideIdleData->dwLastTick;
}
else
{

Binary file not shown.

View File

@ -53,8 +53,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,50
PRODUCTVERSION 1,0,0,50
FILEVERSION 1,0,0,55
PRODUCTVERSION 1,0,0,55
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -70,12 +70,12 @@ BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileDescription", "BOINC Dynamic Link Library"
VALUE "FileVersion", "1.0.0.50"
VALUE "FileVersion", "1.0.0.55"
VALUE "InternalName", "BOINC"
VALUE "LegalCopyright", "Copyright (C) 2005-2007"
VALUE "OriginalFilename", "BOINC.dll"
VALUE "ProductName", " BOINC Dynamic Link Library"
VALUE "ProductVersion", "1.0.0.50"
VALUE "ProductVersion", "1.0.0.55"
END
END
BLOCK "VarFileInfo"