If it's your config you can go to %localappdata%\lazarus (in your explorer) and look in envronmentoptions.xml.
What is the value of Width and Height of <Name Value="TProcedureListForm"/> ?
You could try renaming that file and restarting lazarus to get a fresh clean version.
Now it's ok!Those values worked for me fine. Maybe it depends on the resolution of your screen 1920x1080 for me.
Ooops !Could you try removing the <dialog></dialog> tags containing the TProcedureListForm values.
It came again.
I renamed environmentoptions to environmentoptionsOLD, then I opened Lazarus again, but ALT-g still doesn't work and Lazarus doesn't create a new environmentoptions file.In that case you might have installed Lazarus 1.8.2 with the option to put the configuration files somewhere else.
I can not find any lazarus.cfg file in C:\lazarusOk, that's weird.
Actually on my Computer there is no C:\Users Folder, because I am in Germany and here we have C:\Benutzer instead of C:\Users, because "Benutzer" in German means "users".No, Explorer shows you Benutzer but it is actually Users.
So it points to a non-existing directory.
In attachment there is a copy of environmentoptions as .txt file.Your environmentoptions.xml worked fine here.
I have the same problem.OK. This is the exception itself, but from which line of procedurelist.pas is coming from? I would debug it myself but I cannot reproduce the error. Please do the following, debug the IDE again(as in the above post) and when the exception appears, go to View-->Debug Windows-->Call Stack, or press: Ctrl + Alt + S, then make a screenshot and post it here.
Following your instructions I got exception...
#0 fpc_raiseexception at :0
#1 RAISELOOP(0x102e5d0) at include\control.inc:5576
#2 INVALIDATEPREFERREDSIZE(0x7763410) at include\control.inc:5592
#3 DOSETBOUNDS(0x7765e30, 129, 0, 6, 28) at include\control.inc:750
#4 CHANGEBOUNDS(0x7765e30, 129, 0, 6, 28, true) at include\control.inc:680
#5 SETBOUNDSKEEPBASE(0x7765e30, 129, 0, 6, 28) at include\control.inc:5423
#6 DOPOSITION(0x102eb80, 0x7765e30, ALNONE, 6) at include\wincontrol.inc:3023
#7 DOALIGN(0x102eb80, ALNONE) at include\wincontrol.inc:3136
#8 ALIGNCONTROLS(0x7763410, 0x0, {LEFT = 1, TOP = 0, RIGHT = 1188, BOTTOM = 32, TOPLEFT = {X = 1, Y = 0}, BOTTOMRIGHT = {X = 1188, Y = 32}, VECTOR = {1, 0, 1188, 32}}) at include\wincontrol.inc:3216
#9 ALIGNCONTROL(0x7763410, 0x0) at include\wincontrol.inc:6406
#10 AUTOSIZECONTROL(0x102ed40, 0x7763410) at include\control.inc:2986
#11 AUTOSIZECONTROL(0x102ed40, 0x45f5240) at include\control.inc:2988
#12 DOALLAUTOSIZE(0x45f5240) at include\control.inc:3036
#13 DOALLAUTOSIZE(0x45f5240) at include\wincontrol.inc:3524
#14 ENABLEAUTOSIZING(0x45f5240) at include\control.inc:5686
#15 fin$604(0x102eea0) at :4510
#16 SETVISIBLE(0x45f5240, true) at include\customform.inc:492
#17 SHOW(0x45f5240) at include\customform.inc:2317
#18 SHOWMODAL(0x45f5240) at include\customform.inc:2988
#19 EXECUTEPROCEDURELIST(0x1212960) at procedurelist.pas:151
#20 MNUSEARCHPROCEDURELIST(0x1212960, 0x1212960) at main.pp:3040
#21 PROCESSIDECOMMAND(0x1212960, 0x65f0870, 1019, true) at main.pp:3342
#22 PROCESSPARENTCOMMAND(0x65f0870, 0x6400ae0, 1019, '', 0x0, true) at sourceeditor.pp:8499
#23 PROCESSUSERCOMMAND(0x6400ae0, 0x65f8f50, 1019, '', 0x0) at sourceeditor.pp:3915
#24 DOONPROCESSCOMMAND(0x65f8f50, 1019, '', 0x0) at synedit.pp:7093
#25 COMMANDPROCESSOR(0x65f8f50, 1019, '', 0x0, []) at synedit.pp:6453
#26 KEYDOWN(0x65f8f50, 0, [SSALT]) at synedit.pp:2931
#27 KEYDOWNBEFOREINTERFACE(0x65f8f50, 0, [SSALT]) at include\wincontrol.inc:5667
#28 DOKEYDOWNBEFOREINTERFACE(0x65f8f50, {MSG = 48388, UNUSEDMSG = 0, CHARCODE = 0, UNUSED = 0, UNUSED2 = 0, KEYDATA = 539099137, RESULT = 0}, false) at include\wincontrol.inc:5798
#29 CNSYSKEYDOWN(0x65f8f50, {MSG = 48388, UNUSEDMSG = 0, CHARCODE = 0, UNUSED = 0, UNUSED2 = 0, KEYDATA = 539099137, RESULT = 0}) at include\wincontrol.inc:7164
#30 SYSTEM$_$TOBJECT_$__$$_DISPATCH$formal at :0
#31 ?? at :0
#32 CALLNOTIFYEVENTS(0x65f8f50, 0x673b608) at lazmethodlist.pas:306
#33 WNDPROC(0x65f8f50, {MSG = 48388, WPARAM = 0, LPARAM = 539099137, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, WPARAMFILLER = {FILLER = {0, 0, 0, 0}}, LPARAMLO = 1, LPARAMHI = 8226, LPARAMFILLER = {FILLER = {0, 0, 0, 0}}, RESULTLO = 0, RESULTHI = 0, RESULTFILLER = {FILLER = {0, 0, 0, 0}}}) at include\wincontrol.inc:5397
#34 WNDPROC(0x65f8f50, {MSG = 48388, WPARAM = 0, LPARAM = 539099137, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, WPARAMFILLER = {FILLER = {0, 0, 0, 0}}, LPARAMLO = 1, LPARAMHI = 8226, LPARAMFILLER = {FILLER = {0, 0, 0, 0}}, RESULTLO = 0, RESULTHI = 0, RESULTFILLER = {FILLER = {0, 0, 0, 0}}}) at synedit.pp:6034
#35 DELIVERMESSAGE(0x65f8f50, 0) at lclmessageglue.pas:112
#36 DOWINDOWPROC(0x673b530) at win32\win32callback.inc:2513
#37 WINDOWPROC(15073658, 260, 71, 539099137) at win32\win32callback.inc:2671
#38 UnregisterPowerSettingNotification at :0
#39 ?? at :0
#40 ?? at :0
#41 ?? at :0
#42 ?? at :0
#43 USER32!PtInRect at :0
#44 ?? at :0
#45 ?? at :0
@dsyriosYes. You did a great job. Thanks. Unfortunately the screenshot does not help. The bug is not originating from procedurelist.pas.
I have NOT any experience on debug, but...
Do you mean this attachment?
Complete call-stack (at least to 50)Thanks. Despite my best efforts, I'm still unable to reproduce the bug, everything works fine in my win7 machine. According to the call stack + a small debug, it looks like a TToolButton resize triggers a TToolBar resize, which triggers again a TToolButton resize, and so on. Why is happening only to you I have no idea. Do you use high DPI?
Can you please try the following:I did a clean & rebuild each time.
1. Set TB visibility to false(ProcedureListForm) on design time
2. On Form resize:
3. Rebuild
I think I need to reinstall again, for the 3rd time.If you reinstall, please copy procedurelist.lfm and procedurelist.pas somewhere else so you can always reproduce the bug. I suspect a particular size(width/height) triggers the error. Once you manage to start the form at least once, the bug is gone. I might be wrong though.
I just did a quick compare, procedurelist(pas and dfm) in 1.8 and trunk are almost the same. The bug should be present in trunk too.Yes, I see on my normal machine the procedurelist.lfm also has LCLVersion 1.7 in trunk.
If you want this working in Lazarus 1.8.2 just open up procedurelist.pas (with lazarus.lpi open), goto the form (F12) and toggle something and save it again. Rebuild the Lazarus ide again and it should work.When I change any xxx% DPI, it crashes and I have to do the above solution again.
If you want this working in Lazarus 1.8.2 just open up procedurelist.pas (with lazarus.lpi open), goto the form (F12) and toggle something and save it again. Rebuild the Lazarus ide again and it should work
I saw your report at bugtracker that you refer only 125% DPI.It happens at 125% when it is designed for 100%.
I noticed that NOT only at 125%, but any time I change the current xxx% DPI, it crashes
I can only say that through Control Panel > Appearance and Personalization > Display I coud see that I am on 125 % and this is indicated as default. That is, 125 % is the default.For me 100% is default and recommended. But that might depend on the size and resolution of your screen.
I only wanted to ask: what do you mean by design time dpi ?With design-time I meant in which dpi setting the IDE is designed. It's the IDE that crashes on 125% dpi because it was originally designed at 100%. Most designers design at 100% because designing at another setting could cause problems when running on 100% (and it was designed on something different).
r57674 have bad consequences.I don't think TToolButton is supposed to contain a right aligned TComboBox. It is for TToolButtons which, when they are added to the point they overflow at the right, they continue on a new line.
I can only say that through Control Panel > Appearance and Personalization > Display I coud see that I am on 125 % and this is indicated as default. That is, 125 % is the default.For me 100% is default and recommended. But that might depend on the size and resolution of your screen.QuoteI only wanted to ask: what do you mean by design time dpi ?With design-time I meant in which dpi setting the IDE is designed. It's the IDE that crashes on 125% dpi because it was originally designed at 100%. Most designers design at 100% because designing at another setting could cause problems when running on 100% (and it was designed on something different).
Since the IDE (and procedurelist.lfm) was designed at 100%, when displaying at 125% it needs to resize during runtime. Perhaps there is some roundoff where it can't put the toolbar correctly at the top and it gets stuck in a loop.
You can fix this quite easily yourself.
Open up ide\lazarus.lpi project.
Press Ctrl+F12 and open procedurelist.pas
Press F12 to view the form
Resize it slightly (it doesn't really matter)
Press F12 again to view the code
Choose File > Save (or Ctrl+S) to save it
Now choose Tools > Configure Builds
Choose Clean up + Build all at the top
Choose Build at the bottom
Lazarus will now recompile itself with your changed form and the ProcedureList will work
This is because you changed the procedurelist form, it is now saved with a setting of 120DPP in designtime and resizing the form work correctly now.
Of course this is a bug which still exists in trunk (development version) so it has to be corrected in the original release by someone. (hence the bug-report I submitted)
fix it on windows 10 . Screen DPI 125%It's already fixed.
Fixed in trunk revision 57674 by Ondrej.
Fix is also targeted for Lazarus 1.8.4.
https://bugs.freepascal.org/view.php?id=33575