[Lazarus] Win 7 issue / Re: -dWINDOWS_LIGATURE [[Re: Font ligatures support]]

Martin Frb lazarus at mfriebe.de
Wed Oct 7 13:23:19 CEST 2020


On 07/10/2020 01:42, Maxim Ganetsky via lazarus wrote:
> 06.10.2020 16:23, Martin Frb via lazarus пишет:
>> On 06/10/2020 15:09, Maxim Ganetsky via lazarus wrote:
>>>
>>> ----
>>> Can you try to catch it in the debugger, and see what params are given
>>> to NewTextOut
>>> in
>>> #2  0x00ab95f6 in DRAWHILIGHTMARKUPTOKEN (ATOKENINFO=...,
>>> parentfp=0x13abf6e8)
>>>      at lazsyntextarea.pp:1741
>>>
>>>   fTextDrawer.NewTextOut(TxtLeft, rcToken.Top, TxtFlags, tok,
>>> ATokenInfo.Tk.TokenStart, ATokenInfo.Tk.TokenLength, FEtoBuf);
>>> Can you add some debugln in a format convenient to you? This will
>>> simplify things, I think.
>>>
>> This is in the paint handler, and it is called for each token. So 
>> potentially very slow with debugln.
>>
>> But since it is in startup, hopefully you wont have to many.
>>
>> Apply this patch please
>
>
> With this patch applied Lazarus seems to crash on debugln in 
> lazsyntextarea.pp. Just in case, I tried to remove this particular 
> debugln, then it printed 'BEFORE' and nothing more.

Sorry my fault, I thought I had all the nil checks....
Please replace that debugln with

debugln('Calling NewTextOut L: %s rcT: %s tok: %s tkt: %s // %s // eto: 
%s', [dbgs(TxtLeft), dbgs(rcToken), dbgs(tok), 
dbgMemRange(PByte(ATokenInfo.Tk.TokenStart), ATokenInfo.Tk.TokenLength), 
dbgs(ATokenInfo.Tk.TokenLength), dbgs(FEtoBuf<>nil) ]);




More information about the lazarus mailing list