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