AW: [lazarus] New tests of the IDE

Mattias Gaertner nc-gaertnma at netcologne.de
Wed Feb 21 13:15:38 EST 2001



> > > 17. If I close Lazarus I get the following error:
> > >
> > > Gtk-CRITICAL **: file gtkmain.c: line 534 (gtk_main_quit): assertion
> > > `main_loops
> > >  != NULL' failed.
> > > An unhandled exception occurred at 0x08104CBC :
> > > Access violation
> > >   0x08104CBC
> > >   0x0806278C  THEFONTSINFOMANAGER__RELEASEFONTSINFO,  line 517 of
> > > syntextdrawer.
> > > pp
> > >   0x08062C52  THEFONTSTOCK__RELEASEFONTSINFO,  line 735 of
> > > syntextdrawer.pp
> > >   0x080629E9  THEFONTSTOCK__DESTROY,  line 631 of syntextdrawer.pp
> > >   0x08104CBF
> > >   0x08062EEC  THETEXTDRAWER__DESTROY,  line 836 of syntextdrawer.pp
> > >   0x08104CBF
> > >   0x0806B8A9  TCUSTOMSYNEDIT__DESTROY,  line 1123 of synedit.pp
> > >   0x080F5E2B
> > >   0x080F5DD7
> 
> > I've never seen this error.  I don't get it and therefore can't do much
> 
> about it.  However, with all the things wrong in the gtkint hopefully
> when 
> I fix some of them this error will get fixed too.


I don't know why you do not get the error. But I know the reason for the
bug. The finalizaton sections of synedit are executed before the
finalization of forms.pp. This is ok under Delphi and it should also be ok
under the lcl. But when a program shuts down Delphi quits/kills all
components and after that the program ends and the finalization sections do
their work. The lcl does not yet support this clean shutdown and therefore
shuts down the components when the forms.pp is finalizing. So, the synedit
units are closed before the synedit components are closed.
The "bug" exists for a long time. I did not fix it because my priority is
on a starting and running IDE, not on a closing one.

Mattias






More information about the Lazarus mailing list