View Issue Details

IDProjectCategoryView StatusLast Update
0037435LazarusIDEpublic2020-07-31 11:37
ReporterIgor Kokarev Assigned ToMartin Friebe  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version2.1 (SVN) 
Fixed in Version2.2 
Summary0037435: Can't choose default editor font in IDE
DescriptionDefault editor font can't be chosen. Font dialog window doesn't appear. Then IDE Oprions window can't be closed by OK or Cancel button. I have to terminate Lazarus in Task Manager.

Windows 10 May 2020 Update, 64-bit

Steps To Reproduce1. Open IDE Options window -> Editor -> Display -> Default editor font.

2. Try to click "..." button.

3. Font dialog window does not appear on the screen.

4. Later you can't close IDE Options window by OK or Cancel, or X button. You have to use Task Manager to close Lazarus.
Additional InformationLazarus Trunk and FPC Trunk were downloaded and compiled via fpcupdeluxe as a new installation with default settings.

This problem does NOT appear in Lazarus 2.0.10 + FPC 3.2.0
TagsNo tags attached.
Fixed in Revision63667
LazTarget2.2
WidgetsetWin32/Win64
Attached Files

Relationships

related to 0037360 assignedMartin Friebe Proposed improvements for TLCLComponent.NewInstance 

Activities

Juha Manninen

2020-07-28 20:17

developer   ~0124365

I tested Lazarus trunk with both GTK2 and QT5 bindings, building with FPC 3.2.
The font dialog opens as expected.
Thus the problem must be with FPC trunk or with Win32 widgetset in Lazarus trunk. Somebody please test.

Igor Kokarev

2020-07-28 21:03

reporter   ~0124366

Martin confirmed this issue:
https://forum.lazarus.freepascal.org/index.php/topic,50776.msg371399.html#msg371399

Martin Friebe

2020-07-28 21:39

manager   ~0124367

Last edited: 2020-07-28 21:41

View 2 revisions

I can open file-open dialogs from the option dialog.
But the font-selection dialog does not appear.
Yet the IDE sits in the loop, as if it was there.

It sits in
DOEXECUTE(TCOMMONDIALOG($000000000E807B40)) at B:\lazarus_latest_svn_2\lcl\include\commondialog.inc:182



#0 win32u:NtUserMsgWaitForMultipleObjectsEx+20 at :0
0000001 user32:MsgWaitForMultipleObjectsEx+157 at :0
0000002 IDLE(TAPPLICATION($00000000015231B0), True) at B:\lazarus_latest_svn_2\lcl\include\application.inc:397
0000003 HANDLEMESSAGE(TAPPLICATION($00000000015231B0)) at B:\lazarus_latest_svn_2\lcl\include\application.inc:1209
0000004 DOEXECUTE(TCOMMONDIALOG($000000000E807B40)) at B:\lazarus_latest_svn_2\lcl\include\commondialog.inc:182
0000005 EXECUTE(TCOMMONDIALOG($000000000E807B40)) at B:\lazarus_latest_svn_2\lcl\include\commondialog.inc:41
0000006 EDITORFONTBUTTONCLICK(TEDITORDISPLAYOPTIONSFRAME($0000000010831750), TOBJECT($00000000120F3AD0)) at B:\lazarus_latest_svn_2\ide\frames\editor_display_options.pas:153
0000007 CLICK(TCONTROL($00000000120F3AD0)) at B:\lazarus_latest_svn_2\lcl\include\control.inc:2910
0000008 CLICK(TBUTTONCONTROL($00000000120F3AD0)) at B:\lazarus_latest_svn_2\lcl\include\buttoncontrol.inc:55
0000009 CLICK(TCUSTOMBUTTON($00000000120F3AD0)) at B:\lazarus_latest_svn_2\lcl\include\buttons.inc:169
0000010 WMDEFAULTCLICKED(TBUTTONCONTROL($00000000120F3AD0), TMESSAGE($00000000013FE168)) at B:\lazarus_latest_svn_2\lcl\include\buttoncontrol.inc:21
0000011 SYSTEM$_$TOBJECT_$__$$_DISPATCH$formal+181 at :0
0000012 WNDPROC(TWINCONTROL($00000000120F3AD0), TMESSAGE($00000000013FE168)) at B:\lazarus_latest_svn_2\lcl\include\wincontrol.inc:5429
0000013 DELIVERMESSAGE(TOBJECT($00000000120F3AD0), 0) at B:\lazarus_latest_svn_2\lcl\lclmessageglue.pas:112
0000014 DOWINDOWPROC(TWINDOWPROCHELPER($00000000013FE148)) at B:\lazarus_latest_svn_2\lcl\interfaces\win32\win32callback.inc:2606
0000015 WINDOWPROC(10685494, 273, 15056, 7343000) at B:\lazarus_latest_svn_2\lcl\interfaces\win32\win32callback.inc:2771
0000016 GROUPBOXWINDOWPROC(10685494, 273, 15056, 7343000) at B:\lazarus_latest_svn_2\lcl\interfaces\win32\win32wsstdctrls.pp:615
0000017 user32:CallWindowProcW+957 at :0
0000018 at :-1


And:
TFontDialog.Handle = 0

Martin Friebe

2020-07-28 21:47

manager   ~0124368

Widgetsetclass appears to be TWSCommonDialog instead of TWSFontDialog

Maybe something to do with the recent RegisterWsClass changes.

Martin Friebe

2020-07-28 21:51

manager   ~0124369

It is not Fpc 3.2, since I can reproduce with 3.0.4.

jamie philbrook

2020-07-29 01:01

reporter   ~0124371

Works ok with 2.0.10 release using 3.2.0 on Windows 10-64 bit using 64 bit target..

I am inclined to go with Martin's thoughts about recent changes in the class registrations..

May have been a mistake, slip of the hand that didn't get seen or could be the classes registration is out of order with the way the code is using it.

Juha Manninen

2020-07-29 09:53

developer   ~0124375

Why does it happen only with LCL-Win32?

Bart Broersma

2020-07-29 10:58

developer   ~0124378

Yes, r63619 breaks it (r63618 is OK).

BrunoK

2020-07-29 12:32

reporter   ~0124385

I can reproduce in Win10 FPC 3.0.4.

Reverting to previous working revision seems reasonable until we figure out what is the cause (bug in my code quite likely ...).

@Juha Do you NOT have the same problem with LCL<>Win32 ?

Juha Manninen

2020-07-29 12:37

developer   ~0124386

No problem here. See my first note up.

Martin Friebe

2020-07-29 12:42

manager   ~0124387

Please test with rev 63667

BrunoK

2020-07-29 13:14

reporter   ~0124389

Thanks Martin rev 63667 works for me.

Igor Kokarev

2020-07-30 10:31

reporter   ~0124413

I confirm that latest Lazarua Trunk fixed this problem. Thanks!

Issue History

Date Modified Username Field Change
2020-07-28 19:23 Igor Kokarev New Issue
2020-07-28 20:17 Juha Manninen Note Added: 0124365
2020-07-28 21:03 Igor Kokarev Note Added: 0124366
2020-07-28 21:39 Martin Friebe Note Added: 0124367
2020-07-28 21:41 Martin Friebe Note Edited: 0124367 View Revisions
2020-07-28 21:47 Martin Friebe Note Added: 0124368
2020-07-28 21:51 Martin Friebe Note Added: 0124369
2020-07-29 00:54 Martin Friebe Relationship added related to 0037360
2020-07-29 01:01 jamie philbrook Note Added: 0124371
2020-07-29 09:53 Juha Manninen Note Added: 0124375
2020-07-29 10:58 Bart Broersma Note Added: 0124378
2020-07-29 11:11 Bart Broersma Summary Can't choose default font editor in IDE => Can't choose default editor font in IDE
2020-07-29 11:11 Bart Broersma LazTarget => -
2020-07-29 11:11 Bart Broersma Widgetset Win32/Win64 => Win32/Win64
2020-07-29 12:32 BrunoK Note Added: 0124385
2020-07-29 12:37 Juha Manninen Note Added: 0124386
2020-07-29 12:42 Martin Friebe Assigned To => Martin Friebe
2020-07-29 12:42 Martin Friebe Status new => resolved
2020-07-29 12:42 Martin Friebe Resolution open => fixed
2020-07-29 12:42 Martin Friebe Fixed in Version => 2.2
2020-07-29 12:42 Martin Friebe Fixed in Revision => 63667
2020-07-29 12:42 Martin Friebe LazTarget - => 2.2
2020-07-29 12:42 Martin Friebe Widgetset Win32/Win64 => Win32/Win64
2020-07-29 12:42 Martin Friebe Note Added: 0124387
2020-07-29 13:14 BrunoK Note Added: 0124389
2020-07-30 10:31 Igor Kokarev Note Added: 0124413