Bug #21

Caret blink frozen after 49.7 days

Added by I. Denisov about 4 years ago. Updated over 2 years ago.

Status:ClosedStart date:11/22/2014
Priority:HighDue date:
Assignee:W. Luo% Done:

100%

Category:-
Target version:1.7
Forum topic:

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.

Associated revisions

Revision 9369c6b2
Added by I. Denisov about 4 years ago

Fixing Controllers.TickMsg.tick overflow bug. Detected and resolved by WenYing Luo. Refs: #21

Revision dab2a493
Added by I. Denisov about 4 years ago

Information about changes was added to the headers of documents. Refs: #21

History

#1 Updated by I. Denisov about 4 years ago

  • Description updated (diff)
  • % Done changed from 80 to 90

#2 Updated by I. Denisov about 4 years ago

  • Status changed from Resolved to Closed
  • % Done changed from 90 to 100

#3 Updated by J. Templ over 2 years ago

  • Description updated (diff)

#4 Updated by J. Templ over 2 years ago

  • Description updated (diff)

#5 Updated by J. Templ over 2 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

Also available in: Atom PDF