View Issue Details
After updating to the newest "components/anchordocking/anchordocking.pas"
the same problem still exists, but now I get an additional message, before the access violation:
TWinControl.WMSize loop detected, the widgetset does not like the LCL bounds or sends unneeded wmsize messages: :TScrollBox BoundsRealized=l=0,t=0,r=1426,b=0 NewBoundsRealized=l=0,t=0,r=1426,b=0.
Press OK to ignore and risk data corruption.
Press Abort to kill the program.
In summary, if I start the IDE with docked layout, then click the menu: view / code explorer, I get:
1) two modal messages (see above, and AV)
2) IDE is crashing
While the expectation was, the code explorer would show as floating window.
I'm using a small display here (1280 pixels width), that's why only a docked layout can be efficient for the user.
I cannot reproduce. Tested on Linux with GTK2 and QT.
When not visible, Code Explorer by default always goes docked to the right from code editor.
You may have an old corrupt local configuration. Remove or rename it and try with a clean configuration.
As Juha wrote: It might be that you have a strange value in your config for Code Explorer and anchordocking tries to restore something impossible.
Try remvoing the Item element with Name="CodeExplorerView" from environmentoptions.xml
Meanwhile I found more how it happened in my case:
1) create default layout (3 columns)
2) delete 3rd column, by click on codeexplorer red-button (requires visible headers)
3) so we have some two-column layout
(in xml, CodeExplorerView is missing from <AnchorDocking> ... </AnchorDocking>)
4) ensure the IDE is broad enough (maximized or less than 30 pixels free on the right)
5) menu view / codeExplorer (tries to insert codeExplorer on the right side (default))
6) the crash follows, obviously due to the lack of free space on the right side
Condition (4) was new to me, so I could solve this by a narrower IDE before menu click.
I still cannot reproduce. The IDE window grows sideways when Code Explorer gets added. It may be a minor bug, I think the window size should stay the same.
However the width is limited by the screen width. If there is only a little space, it grows to screen width. If it already occupies the whole screen, it does not grow.
Do you have a multi-screen configuration? I have one screen.
Could it be Windows specific?
Sometimes crash bugs are solved by building clean. Normal build does not always recognize every dependency.
I recreated all (Lazarus and default environmentoptions.xml), then it happened again.
I'm not multi-screen. Only two trigger-conditions are required:
1) CodeExplorerView must be absent in <AnchorDocking> ... </AnchorDocking> of environmentoptions.xml.
2) Requested new window-width is too large (something larger than screen width).
(The window position is not relevant: if window-left is more inside the screen,
then the window will grow beyond the right screen-edge, without problems.)
If NonWindows users can't reproduce the crash based on these conditions, then it must be specific to MS Windows.
Ok, for me it's not urgent anymore, but it could happen to other Windows users, in the special case that they closed the CodeExplorer. But now I know, a 2-column-layout can be obtained easier without closing, but with moving :)
Can you test this issue with latest Lazarus trunk version? I don't see this problem, but at least the IDE bounds shouldn't be increased, if Messages or CodeExplorer form is shown. I fixed this in revision 59830.
||It works now without crash, thank you!|
||Ok, thank you for the info! Please close.|
|2018-10-21 11:52||nanobit||New Issue|
|2018-10-26 21:12||nanobit||Note Added: 0111584|
|2018-10-27 00:07||Juha Manninen||Note Added: 0111588|
|2018-10-27 11:01||Mattias Gaertner||Assigned To||=> Mattias Gaertner|
|2018-10-27 11:01||Mattias Gaertner||Status||new => assigned|
|2018-10-27 11:07||Mattias Gaertner||LazTarget||=> -|
|2018-10-27 11:07||Mattias Gaertner||Note Added: 0111605|
|2018-10-27 11:07||Mattias Gaertner||Status||assigned => feedback|
|2018-10-27 13:16||nanobit||Note Added: 0111611|
|2018-10-27 13:16||nanobit||Status||feedback => assigned|
|2018-10-27 13:56||Juha Manninen||Note Added: 0111614|
|2018-10-27 15:36||nanobit||Note Added: 0111616|
|2018-10-31 21:02||Michl||Assigned To||Mattias Gaertner => Michl|
|2018-12-16 20:15||Michl||Fixed in Revision||=> 59830|
|2018-12-16 20:15||Michl||Fixed in Version||=> 2.1 (SVN)|
|2018-12-16 20:19||Michl||Note Added: 0112620|
|2018-12-16 20:19||Michl||Status||assigned => feedback|
|2018-12-16 20:20||Michl||Note Edited: 0112620||View Revisions|
|2018-12-17 14:14||nanobit||Note Added: 0112650|
|2018-12-17 14:14||nanobit||Status||feedback => assigned|
|2018-12-17 20:50||Michl||Note Edited: 0112620||View Revisions|
|2018-12-17 20:51||Michl||Note Added: 0112653|
|2018-12-17 20:51||Michl||Status||assigned => resolved|
|2018-12-17 20:51||Michl||Resolution||open => fixed|
|2018-12-18 08:47||nanobit||Status||resolved => closed|