[Libreoffice-commits] core.git: Branch 'feature/priorities' - vcl/source

Tobias Madl tobias.madl.dev at gmail.com
Wed Oct 29 08:19:08 PDT 2014


 vcl/source/app/timer.cxx |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

New commits:
commit 921da06de1d246652665c6dd535fd50c68647f74
Author: Tobias Madl <tobias.madl.dev at gmail.com>
Date:   Wed Oct 29 15:17:32 2014 +0000

    Minor bug fixes of scheduling process
    
    Change-Id: I47ad343496aff29016941f6c894c517136f992d5

diff --git a/vcl/source/app/timer.cxx b/vcl/source/app/timer.cxx
index 894fb7a..bad6c1b 100644
--- a/vcl/source/app/timer.cxx
+++ b/vcl/source/app/timer.cxx
@@ -105,7 +105,7 @@ void Timer::ImplTimerCallbackProc()
     pSVData->mnTimerUpdate++;
     pSVData->mbNotAllTimerCalled = true;
     pTimerData = pSVData->mpFirstTimerData;
-    pPrioFirstTimerData = pTimerData;
+    pPrioFirstTimerData = NULL;
 
     while ( pTimerData )
     {
@@ -115,8 +115,9 @@ void Timer::ImplTimerCallbackProc()
              !pTimerData->mbDelete && !pTimerData->mbInTimeout )
         {
             // time has expired
-            if ( (pTimerData->mnUpdateTime+pTimerData->mpTimer->mnTimeout) <= nTime )
+            if ( (pTimerData->mnUpdateTime+pTimerData->mpTimer->mnTimeout) <= nTime || pTimerData->mpTimer->GetPriority() < pTimerData->mpTimer->GetDefaultPriority() )
             {
+                pTimerData->mpTimer->SetPriority(pTimerData->mpTimer->GetPriority() - 1);
                 ImplTimerData* pCurrentTimer = pPrioFirstTimerData;
                 pPrevTimerData = NULL;
                 if(pCurrentTimer != pTimerData){
@@ -144,7 +145,6 @@ void Timer::ImplTimerCallbackProc()
                         pCurrentTimer = pPrioFirstTimerData;
                     }
                 }
-                pTimerData->mpTimer->SetPriority(pTimerData->mpTimer->GetPriority() - 1);
                 pPrioFirstTimerData = pCurrentTimer;
             }
         }
@@ -245,8 +245,8 @@ void Timer::ImplTimerCallbackProc()
         ImplStartTimer( pSVData, nMinPeriod );
 
     pSVData->mnTimerUpdate--;
-    if(bAllTimerCalled)
-        pSVData->mbNotAllTimerCalled = false;
+    //if(bAllTimerCalled)
+    pSVData->mbNotAllTimerCalled = false;
 }
 
 Timer::Timer():


More information about the Libreoffice-commits mailing list