Project

General

Profile

Bug #21

Updated by J. Templ over 9 years ago

If BlackBox is *Problem*: if you do not restarted within power down your computer or restart it up to 49.7days, you will find the caret of the text BB editor frozen, i.e. not blinking at all. The reason is an INTEGER 

 *Reason*: the Controllers.TickMsg.tick get value from WinApi.GetTickCount() which will be overflow caused by using WinApi.GetTickCount() instead after 49.7days after the machine start up,then the TextControllers.BlinkCaret cant do a correct check, the blink of Services.Ticks(). caret will not blink. 

 Reported by Ivan Denisov, 2014-11-22. *My Patch*: 

 1. Controllers 
 <pre> 
    TickMsg* = RECORD (Message)  
          tick*: LONGINT(*INTEGER*)     (** IN **) 
    END; 
 </pre> 

 2. HostWindows.Idle 

 <pre> 
      IF w.frame # NIL THEN 
          tick.tick := Services.Ticks();(*WinApi.GetTickCount();*) 
          w.ForwardCtrlMsg(tick) 
      END; 
 </pre> 


 3. TextControllers.BlinkCaret 
 <pre> 
       PROCEDURE BlinkCaret (c: StdCtrl; f: Views.Frame; tick: LONGINT(*INTEGER*)); 
 </pre> 


 compile these modules: 

 <pre> 
 ^Q DevCompiler.CompileThis Controllers Containers Documents HostWindows TextControllers 
 </pre>

Back