[Lazarus] -dWINDOWS_LIGATURE [[Re: Font ligatures support]]
Maxim Ganetsky
ganmax at narod.ru
Mon Oct 5 01:02:55 CEST 2020
05.10.2020 1:48, Martin Frb via lazarus пишет:
> On 05/10/2020 00:27, Maxim Ganetsky via lazarus wrote:
>> 04.10.2020 19:05, Martin Frb via lazarus пишет:
>>> On 04/10/2020 10:14, Mr Bee wrote:
>>>> If it does work, would you please submit it as a patch for the next
>>>> release? At least, add a note that the font ligatures feature only
>>>> supports monospaced fonts and only works on Windows. It's better
>>>> than nothing.
>>>>
>>> revision 63951
>>>
>>> Windows only, compile with -dWINDOWS_LIGATURE
>>> Tested with Cascadia.
>>
>> Lazarus hangs on start for me on Windows 7 when compiled with this
>> define.
>>
>> Lazarus 2.1.0 r63957 FPC 3.2.0 i386-win32-win32/win64. I use JetBrains
>> Mono font.
>>
> Could you start with an empty project? To make sure its not content
> related?
>
> Though the code changes do not have any loop.
>
> You could run in gdb
>
> gdb lazarus.exe
>
> r
>
> ctrl-c when it hangs
>
> bt
Tried with an empty project, nothing changed. Actually it does not hang,
it segfaults. GDB output:
i:\FPC\lazarus>i:\FPC\lazarus_gdb_w32\bin\gdb.exe lazarus.old.exe
GNU gdb (GDB) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "mingw32".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from lazarus.old.exe...done.
(gdb) r
Starting program: i:\FPC\lazarus\lazarus.old.exe
[New Thread 6324.0x994]
[New Thread 6324.0x1834]
[Thread 6324.0x1834 exited with code 0]
[New Thread 6324.0x1c78]
Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) bt
#0 0x00000000 in ?? ()
#1 0x00000024 in ?? ()
#2 0x00ab95f6 in DRAWHILIGHTMARKUPTOKEN (ATOKENINFO=...,
parentfp=0x13abf6e8)
at lazsyntextarea.pp:1741
#3 0x00ab8a8e in PAINTLINES (parentfp=0x13abf6e8) at lazsyntextarea.pp:1798
#4 0x00ab86f3 in TLAZSYNTEXTAREA__PAINTTEXTLINES (ACLIP=..., FIRSTLINE=0,
LASTLINE=27, FIRSTCOL=1, LASTCOL=154, this=<error reading variable>)
at lazsyntextarea.pp:1870
#5 0x00ab831c in TLAZSYNTEXTAREA__DOPAINT (ACANVAS=0x1a798798, ACLIP=...,
this=<error reading variable>) at lazsyntextarea.pp:1489
#6 0x00ab00d0 in TLAZSYNSURFACE__PAINT (ACANVAS=0x1a798798, ACLIP=...,
this=<error reading variable>) at syneditmiscclasses.pp:1308
#7 0x00ab6f82 in TLAZSYNSURFACEMANAGER__DOPAINT (ACANVAS=0x1a798798,
ACLIP=..., this=<error reading variable>) at lazsyntextarea.pp:1134
#8 0x00ab00d0 in TLAZSYNSURFACE__PAINT (ACANVAS=0x1a798798, ACLIP=...,
this=<error reading variable>) at syneditmiscclasses.pp:1308
#9 0x00c1c402 in TSOURCELAZSYNSURFACEMANAGER__DOPAINT (ACANVAS=0x1a798798,
ACLIP=..., this=<error reading variable>) at sourcesyneditor.pas:1353
#10 0x00ab00d0 in TLAZSYNSURFACE__PAINT (ACANVAS=0x1a798798, ACLIP=...,
this=<error reading variable>) at syneditmiscclasses.pp:1308
#11 0x0070603f in TCUSTOMSYNEDIT__PAINT (this=<error reading variable>)
at synedit.pp:4221
#12 0x0057270d in TCUSTOMCONTROL__PAINTWINDOW (DC=469832019,
this=<error reading variable>) at ./include/customcontrol.inc:123
---Type <return> to continue, or q <return> to quit---
#13 0x0055ffa7 in TWINCONTROL__PAINTHANDLER (THEMESSAGE=...,
this=<error reading variable>) at ./include/wincontrol.inc:4857
#14 0x00563427 in TWINCONTROL__WMPAINT (MSG=...,
this=<error reading variable>) at ./include/wincontrol.inc:6850
#15 0x00572630 in TCUSTOMCONTROL__WMPAINT (MESSAGE=...,
this=<error reading variable>) at ./include/customcontrol.inc:103
#16 0x00410221 in SYSTEM$_$TOBJECT_$__$$_DISPATCH$formal ()
#17 0x00000001 in ?? ()
#18 0x0120f754 in VMT_$CONTROLS_$$_TCUSTOMCONTROL ()
#19 0x0120f2b8 in VMT_$CONTROLS_$$_TGRAPHICCONTROL$indirect ()
#20 0x005725f0 in TCUSTOMCONTROL__WSREGISTERCLASS (pvmt=0x13abfbf4)
at ./include/customcontrol.inc:90
#21 0x0056100b in TWINCONTROL__WNDPROC (MESSAGE=...,
this=<error reading variable>) at ./include/wincontrol.inc:5429
#22 0x0070d54f in TCUSTOMSYNEDIT__WNDPROC (MSG=...,
this=<error reading variable>) at synedit.pp:6399
#23 0x0061ff2a in DELIVERMESSAGE (TARGET=0x1bdaf3a0,
AMESSAGE=<error reading variable: Attempt to dereference a generic
pointer.>
) at lclmessageglue.pas:112
#24 0x0054410f in TWINDOWPROCHELPER__SENDPAINTMESSAGE (CONTROLDC=0,
this=...)
at ./win32/win32callback.inc:746
#25 0x00547922 in TWINDOWPROCHELPER__DOWINDOWPROC (this=...)
at ./win32/win32callback.inc:2357
#26 0x005487a1 in WINDOWPROC (WINDOW=1312066, MSG=15, WPARAM=0, LPARAM=0)
---Type <return> to continue, or q <return> to quit---
at ./win32/win32callback.inc:2774
#27 0x76f1630a in gapfnScSendMessage () from C:\Windows\syswow64\user32.dll
#28 0x00140542 in ?? ()
#29 0x76f17326 in USER32!GetDC () from C:\Windows\syswow64\user32.dll
#30 0x00548750 in TWINDOWPROCHELPER__DOWINDOWPROC (
this=<error reading variable: Cannot access memory at address 0x0>)
at ./win32/win32callback.inc:2745
#31 0x76f16df8 in USER32!GetThreadDesktop ()
from C:\Windows\syswow64\user32.dll
#32 0x00000000 in ?? ()
(gdb)
--
Best regards,
Maxim Ganetsky mailto:ganmax at narod.ru
More information about the lazarus
mailing list