diff options
author | Oliver Bolte <obo@openoffice.org> | 2005-05-03 13:10:48 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2005-05-03 13:10:48 +0000 |
commit | 742fb07c1173b381afe87eb8f5fee102bf48503b (patch) | |
tree | c86fa6e6943a26f122e37cd5038e3515e26ebbac | |
parent | dd91a7a08caa3201d261504ab0f860b7d5026985 (diff) |
INTEGRATION: CWS presfixes05 (1.4.404); FILE MERGED
2005/04/25 08:38:29 ssa 1.4.404.1: #120661# exception should not be caught in user32 but by the crashreporter, the timer callback was not covered by the same contruct in SalFrameWndProc as it is not message based
-rw-r--r-- | vcl/win/source/app/saltimer.cxx | 54 |
1 files changed, 31 insertions, 23 deletions
diff --git a/vcl/win/source/app/saltimer.cxx b/vcl/win/source/app/saltimer.cxx index 1db5b1b19d0f..660bacaf1855 100644 --- a/vcl/win/source/app/saltimer.cxx +++ b/vcl/win/source/app/saltimer.cxx @@ -2,9 +2,9 @@ * * $RCSfile: saltimer.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: vg $ $Date: 2004-01-06 14:53:36 $ + * last change: $Author: obo $ $Date: 2005-05-03 14:10:48 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -138,30 +138,38 @@ void WinSalTimer::Stop() void CALLBACK SalTimerProc( HWND, UINT, UINT, DWORD ) { - SalData* pSalData = GetSalData(); - ImplSVData* pSVData = ImplGetSVData(); + __try + { + SalData* pSalData = GetSalData(); + ImplSVData* pSVData = ImplGetSVData(); - // Test for MouseLeave - SalTestMouseLeave(); + // Test for MouseLeave + SalTestMouseLeave(); - if ( pSVData->mpSalTimer ) - { - // Try to aquire the mutex. If we don't get the mutex then we - // try this a short time later again. - if ( ImplSalYieldMutexTryToAcquire() ) + if ( pSVData->mpSalTimer ) { - pSalData->mbInTimerProc = TRUE; - pSVData->mpSalTimer->CallCallback(); - pSalData->mbInTimerProc = FALSE; - ImplSalYieldMutexRelease(); - - // Run the timer in the correct time, if we start this - // with a small timeout, because we don't get the mutex - if ( pSalData->mnTimerId && - (pSalData->mnTimerMS != pSalData->mnTimerOrgMS) ) - ImplSalStartTimer( pSalData->mnTimerOrgMS, FALSE ); + // Try to aquire the mutex. If we don't get the mutex then we + // try this a short time later again. + if ( ImplSalYieldMutexTryToAcquire() ) + { + pSalData->mbInTimerProc = TRUE; + pSVData->mpSalTimer->CallCallback(); + pSalData->mbInTimerProc = FALSE; + ImplSalYieldMutexRelease(); + + // Run the timer in the correct time, if we start this + // with a small timeout, because we don't get the mutex + if ( pSalData->mnTimerId && + (pSalData->mnTimerMS != pSalData->mnTimerOrgMS) ) + ImplSalStartTimer( pSalData->mnTimerOrgMS, FALSE ); + } + else + ImplSalStartTimer( 10, TRUE ); } - else - ImplSalStartTimer( 10, TRUE ); + } + // #120661# exception should not be caught in user32 + // see also SalFrameWndProcW/A + __except(UnhandledExceptionFilter(GetExceptionInformation())) + { } } |