Bug #21
closedCaret blink frozen after 49.7 days
100%
Description
If BlackBox is not restarted within 49.7days, you will find the caret of the text editor frozen, i.e. not blinking at all. The reason is an overflow caused by using an INTEGER for the ticks in Controllers.TickMsg instead of LONGINT.
Reported by Ivan Denisov, 2014-11-22.
Updated by I. Denisov almost 11 years ago
- Description updated (diff)
- % Done changed from 80 to 90
Updated by I. Denisov almost 11 years ago
- Status changed from Resolved to Closed
- % Done changed from 90 to 100
Updated by J. Templ over 9 years ago
- Subject changed from Caret blink freezed to Caret blink frozen after 49.7 days
My Patch:
1. Controllers
TickMsg* = RECORD (Message)
tick*: LONGINT(*INTEGER*) (** IN **)
END;
2. HostWindows.Idle
IF w.frame # NIL THEN
tick.tick := Services.Ticks();(*WinApi.GetTickCount();*)
w.ForwardCtrlMsg(tick)
END;
3. TextControllers.BlinkCaret
PROCEDURE BlinkCaret (c: StdCtrl; f: Views.Frame; tick: LONGINT(*INTEGER*));
compile these modules:
DevCompiler.CompileThis Controllers Containers Documents HostWindows TextControllers