Latest SynEdit uses a custom drawn caret.

This was introduced to enable multiple carets. That is: having several carets at the same time, to type and edit several locations simultaneously.
(e.g shift-alt down, gives you 2 carets, one in each row)

Since Windows does not allow for more than one caret to be created, it was necessary to draw them directly.

See components\synedit\synpluginmulticaret.pp
line 1713
  if ScreenCaret.Painter.ClassType = TSynEditScreenCaretPainterSystem then
    ScreenCaret.ChangePainter(TSynEditScreenCaretPainterInternal);

Comment this out. (multicaret will not work / only one caret will be visible).

Or change
components\synedit\syneditpointclasses.pas
line 3085
TSynEditScreenCaret.ChangePainter
to always set  TSynEditScreenCaretPainterSystem

On 06/10/2017 20:57, Lubos Pintes via Lazarus wrote:
Hello,
After years, I just built a fresh Lazarus from SVN. I ran the IDE, and noticed immediately that a code editor is completely unusable to screen reader. I am running Windows and using NVDA. In the past, the code editor was partially usable. But now, NVDA is unable to see the caret. So I would like to ask: is caret drawn in some nonstandard way? Or could I set any settings in options to try to fix this?



--
_______________________________________________
Lazarus mailing list
[email protected]
https://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to