I'm not sure it is a bug, so I'm asking here before reporting it as such.

this code:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  timer1.enabled:=false;
  while not Application.Terminated do
  begin
    image1.Picture.loadfromfile('test.png');
    Label1.Tag:=Label1.Tag+1;
    Label1.Caption:=IntToStr(Label1.Tag);
    Application.ProcessMessages;
  end;
end;

works perfectly under windows, but under linux/gtk2 the application is using more and more memory (slowly but constantly, until the OOM kills it) both for the application itself and for X.
Of course heaptrc reports no leak, using cmem doesn't help.

Before you ask, the application is not an interactive one, and the above construct is to avoid using a thread (which makes memory usage even worse), the real loop is like "read some data from the network, display it, application.processmessages". If I limit myself to update labels, memory usage stays constant, as soon as I try to use images (like the above example) memory usage starts growing.

This happened both with an old svn revision (22350) with fpc 2.2.4 and with a version updated yesterday (27607) with fpc 2.4.0.


Bye
--
Luca Olivetti
Wetron Automatización S.A. http://www.wetron.es/
Tel. +34 93 5883004 (Ext.133)  Fax +34 93 5883007

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to