Bug #21
closed
Caret blink frozen after 49.7 days
Added by I. Denisov about 11 years ago.
Updated over 9 years ago.
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.
- Description updated (diff)
- % Done changed from 80 to 90
- Status changed from Resolved to Closed
- % Done changed from 90 to 100
- Description updated (diff)
- Description updated (diff)
- 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
Also available in: Atom
PDF