View Issue Details

IDProjectCategoryView StatusLast Update
0014364LazarusLCLpublic2011-12-01 11:22
ReporterMartin Friebe Assigned ToMattias Gaertner  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version0.9.27 (SVN) 
Target Version0.9.30Fixed in Version0.9.27 (SVN) 
Summary0014364: Frame can prevent Form from saving (if anchored)
DescriptionI have not yet found a small example to reproduce it, but the following works

- open lazarus.lpi
- open ide\frames\editor_mouseaction_options.pas
- add a frame to the mouse option form (e.g TBackupOptionsFrame
- anchor it
  Frame.Top anchored to DiffLabel.bottom
  Frame.left anchored to EditorMouseOptionFrame.Left
  Frame.right anchored to EditorMouseOptionFrame.right

Try to save it.
You should get the below exception.

the problem is one of the anchorsides. TWriter for some reason thinks it is a component and attempts to access TComponent(anchorside).Name => which doesn't exist.
Additional Information  Stack trace:
  $004075F9 fpc_ansistr_incr_ref, line 120 of C:/FPC/SVN/trunc/rtl/inc/astrings.inc
  $0048F080 TWRITER__WRITEPROPERTIES, line 831 of C:/FPC/SVN/trunc/rtl/objpas/classes/writer.inc
  $0048EEEB TWRITER__WRITECOMPONENTDATA, line 751 of C:/FPC/SVN/trunc/rtl/objpas/classes/writer.inc
  $0048625B TCOMPONENT__WRITESTATE, line 405 of C:/FPC/SVN/trunc/rtl/objpas/classes/compon.inc
  $0052E419 TWINCONTROL__GETCHILDREN, line 3604 of ./include/wincontrol.inc
  $00419BF4 TCUSTOMFRAME__GETCHILDREN, line 83 of ./include/customframe.inc
  $0048EDB0 TWRITER__WRITECHILDREN, line 718 of C:/FPC/SVN/trunc/rtl/objpas/classes/writer.inc
  $0048EF02 TWRITER__WRITECOMPONENTDATA, line 755 of C:/FPC/SVN/trunc/rtl/objpas/classes/writer.inc
  $0048625B TCOMPONENT__WRITESTATE, line 405 of C:/FPC/SVN/trunc/rtl/objpas/classes/compon.inc
  $0052E419 TWINCONTROL__GETCHILDREN, line 3604 of ./include/wincontrol.inc
  $00419BF4 TCUSTOMFRAME__GETCHILDREN, line 83 of ./include/customframe.inc
  $0048EDB0 TWRITER__WRITECHILDREN, line 718 of C:/FPC/SVN/trunc/rtl/objpas/classes/writer.inc
  $0048EF02 TWRITER__WRITECOMPONENTDATA, line 755 of C:/FPC/SVN/trunc/rtl/objpas/classes/writer.inc
  $0048625B TCOMPONENT__WRITESTATE, line 405 of C:/FPC/SVN/trunc/rtl/objpas/classes/compon.inc
  $0048EF21 TWRITER__WRITEDESCENDENT, line 765 of C:/FPC/SVN/trunc/rtl/objpas/classes/writer.inc
  $0044D447 TMAINIDE__DOSAVEEDITORFILE, line 7399 of main.pp
  $00452372 TMAINIDE__DOSAVEPROJECT, line 8704 of main.pp
TMainIDE.SaveFileResources Error cleaning up: Access violation
TagsNo tags attached.
Fixed in Revision21345
LazTarget0.9.30
WidgetsetWin32/Win64
Attached Files

Relationships

related to 0014380 closedMichael Van Canneyt FPC TWriter.WriteProperty crashes on ancestor (persistent) 

Activities

2009-08-18 18:31

 

0014364.zip (5,056 bytes)

Paul Ishenin

2009-08-18 18:32

manager   ~0029958

Open attached project, unit2, move Frame2_1 component and try to save it.

Mattias Gaertner

2009-08-20 12:42

manager   ~0030018

I reordered the variables of TAnchorSide. This way the first variable is never the Frame, which works around the bug.
The real bug is in the FPC, a patch is uploaded.

Issue History

Date Modified Username Field Change
2009-08-16 17:58 Martin Friebe New Issue
2009-08-16 17:58 Martin Friebe LazTarget => -
2009-08-16 17:58 Martin Friebe Widgetset => Win32/Win64
2009-08-17 16:47 Vincent Snijders LazTarget - => 0.9.30
2009-08-17 16:47 Vincent Snijders Status new => acknowledged
2009-08-17 16:47 Vincent Snijders Target Version => 0.9.30
2009-08-18 18:31 Paul Ishenin File Added: 0014364.zip
2009-08-18 18:32 Paul Ishenin Note Added: 0029958
2009-08-18 21:56 Martin Friebe Relationship added related to 0014380
2009-08-20 12:42 Mattias Gaertner Fixed in Revision => 21345
2009-08-20 12:42 Mattias Gaertner Note Added: 0030018
2009-08-20 12:42 Mattias Gaertner Assigned To => Mattias Gaertner
2009-08-20 12:42 Mattias Gaertner Status acknowledged => resolved
2009-08-20 12:42 Mattias Gaertner Resolution open => fixed
2009-09-04 14:55 Vincent Snijders Fixed in Version => 0.9.27 (SVN)
2011-12-01 11:22 Marc Weustink Status resolved => closed