Recent

Author Topic: DockedFormEditor trouble  (Read 5396 times)

alpine

  • Hero Member
  • *****
  • Posts: 1343
DockedFormEditor trouble
« on: December 18, 2022, 11:05:08 am »
Hello there, recently I am experiencing some strange effect in Lazarus docked form editor, here is what happens: https://youtu.be/XJne6V1WIps

Lazarus 2.2.2 (rev lazarus_2_2_2) FPC 3.2.2 i386-win32-win32/win64

It seems the form editor enters an infinite loop recalculating the layout again and again because of the resize. It happens on some forms, on others it doesn't.

I've tried to simulate this on a smaller scale (out of that project) but failed. Anyone experienced something similar? Any ideas what property can cause this?
"I'm sorry Dave, I'm afraid I can't do that."
—HAL 9000

alpine

  • Hero Member
  • *****
  • Posts: 1343
Re: DockedFormEditor trouble
« Reply #1 on: December 18, 2022, 11:43:31 am »
I think I found something: On a fresh new form it is enough to change the Form.Align property to something different than alNone and the form starts growing indefinitely.

Also, when the form has BorderStyle of bsNone, resizing it gives an inexact result, see attached picture.
"I'm sorry Dave, I'm afraid I can't do that."
—HAL 9000

KodeZwerg

  • Hero Member
  • *****
  • Posts: 2269
  • Fifty shades of code.
    • Delphi & FreePascal
Re: DockedFormEditor trouble
« Reply #2 on: December 19, 2022, 09:09:35 am »
Lazarus 2.2.4 (rev lazarus_2_2_4) FPC 3.2.2 x86_64-win64-win32/win64

I can confirm this behavior, as soon as you switch from alNone/alCustom to something stupid what you not should use for a mainform, the designer go crazy resizing all over.
« Last Edit: Tomorrow at 31:76:97 xm by KodeZwerg »

Manuel Santana

  • Newbie
  • Posts: 3
Re: DockedFormEditor trouble
« Reply #3 on: October 02, 2023, 03:09:22 am »
I have the same problem, but found out that is happening only on Windows. On Linux Mint Debian Edition 6 with same Lazarus version is not happening.

n7800

  • Full Member
  • ***
  • Posts: 235
Re: DockedFormEditor trouble
« Reply #4 on: January 29, 2024, 09:20:15 pm »
Hello there, recently I am experiencing some strange effect in Lazarus docked form editor, here is what happens: https://youtu.be/XJne6V1WIps

Lazarus 2.2.2 (rev lazarus_2_2_2) FPC 3.2.2 i386-win32-win32/win64

It seems the form editor enters an infinite loop recalculating the layout again and again because of the resize. It happens on some forms, on others it doesn't.

If this is still relevant to you, I would advise just opening this project in the new Lazarus 3.0. This issue may have already been fixed.

n7800

  • Full Member
  • ***
  • Posts: 235
Re: DockedFormEditor trouble
« Reply #5 on: January 29, 2024, 09:21:11 pm »
I think I found something: On a fresh new form it is enough to change the Form.Align property to something different than alNone and the form starts growing indefinitely.
I can confirm this behavior, as soon as you switch from alNone/alCustom to something stupid what you not should use for a mainform, the designer go crazy resizing all over.

I can confirm too, this still there in trunk (at least in win32 and gtk2). There is already an issue on the bug tracker https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/39884.

n7800

  • Full Member
  • ***
  • Posts: 235
Re: DockedFormEditor trouble
« Reply #6 on: January 29, 2024, 09:21:45 pm »
Also, when the form has BorderStyle of bsNone, resizing it gives an inexact result, see attached picture.

This is no longer reproduced in the trunk - the bisection showed that this was fixed somewhere on 02-10-22 (there are several revisions that do not compile, so it is difficult to say which one fixed it).

majolika

  • New Member
  • *
  • Posts: 47
Re: DockedFormEditor trouble
« Reply #7 on: January 26, 2025, 04:25:26 pm »
I found this topic and decided not to make the same one and post it here.

Well... I think I found a bug in Docked Form Editor.

First of all, I use Lazarus 3.8 with AnchorDockingDsgn and DockedFormEditor packeges incorporated. Windows 10.
Here's the minimal steps to reproduce:

1. Create new project;
2. In the Form Designer place TPaintBox on an empty form;
3. Set AutoSize property of TForm to True by checking it in the Object Inspector.
4. Ka-boom!

Steps 2 and 3 can be reversed and instead of TPaintBox it can be used another non-visual controls. Not all.
For example, TOpenDialog doesn't cause any trouble but TImage, TShape — do.
I didn't test all available controls but I hope three (TPaintBox, TImage, TShape) is enough to locate the bug.

Some screenshots attached.

I think that the bug is inside DockedFormEditor because if I remove this package and rebuild Lazarus I'm no longer able to reproduce it.
It seems that the bug is Windows-related and not reproducable on Linux.
Lazarus 3.8 (rev lazarus_3_8) FPC 3.2.2 x86_64-win64-win32/win64

n7800

  • Full Member
  • ***
  • Posts: 235
Re: DockedFormEditor trouble
« Reply #8 on: January 26, 2025, 05:35:41 pm »
I confirm the error, please report it on the bug tracker, there is no such thing there yet. If you want, I can do it myself.

The problem affects all descendants of the TGraphicControl (TLabel, TImage, TShape, ...) class, since they are all drawn on the surface of the parent. Non-visual components (which are displayed simply as an icon with a caption) are not located on the form - this is just their presentation at design time, so there is no problem with them, as well as with an empty form.

It is noteworthy that if you set AutoSize for the form at runtime of the project, there will be no problem. This problem affects only the form editor (docked).

majolika

  • New Member
  • *
  • Posts: 47
Re: DockedFormEditor trouble
« Reply #9 on: January 26, 2025, 06:00:00 pm »
If you want, I can do it myself.
Please, do it yourself cause I'm not familiar with the bug tracker.

Quote
Non-visual components
Don't judge me too strong, I'm just a newbie who was lucky enough to catch a bug.

Quote
It is noteworthy that if you set AutoSize for the form at runtime of the project, there will be no problem.
Oh, yes! I forgot to mention it. This is how I workaround this bug for now.
Lazarus 3.8 (rev lazarus_3_8) FPC 3.2.2 x86_64-win64-win32/win64

n7800

  • Full Member
  • ***
  • Posts: 235
Re: DockedFormEditor trouble
« Reply #10 on: January 26, 2025, 07:40:34 pm »
Issue created, thanks for the feedback.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 10792
  • Debugger - SynEdit - and more
    • wiki
Re: DockedFormEditor trouble
« Reply #11 on: January 26, 2025, 07:46:41 pm »
There are 2 issues at hand.

1) A form in the designer should not autosize. That makes designing a lot harder. It only happens in the docked designer, not the normal designer.

2) https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/41367  (not the issue to fix the docked designer problem...)

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 10792
  • Debugger - SynEdit - and more
    • wiki

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 10792
  • Debugger - SynEdit - and more
    • wiki
Re: DockedFormEditor trouble
« Reply #13 on: January 27, 2025, 01:50:04 pm »
I think I found something: On a fresh new form it is enough to change the Form.Align property to something different than alNone and the form starts growing indefinitely.

The image shows an older Lazarus => that should have been fixed in the RC already (if not even in 3.8 / not sure)

Quote
Also, when the form has BorderStyle of bsNone, resizing it gives an inexact result, see attached picture.


Needs testing, and reporting if present in RC.

 

TinyPortal © 2005-2018