[PyKDE] Bad Memory Leak
Andreas Pakulat
apaku at gmx.de
Wed Dec 6 10:25:40 GMT 2006
On 06.12.06 06:37:06, Andre Reitz wrote:
> Hello all, not really sure if I
> am right here with my problem, but there is a
> great Memoryleak:
>
> --------------------------------------------------
> >from qt import *
> app=QApplication([])
> def c():
> print "cc"
>
> sss=SIGNAL("clicked()")
> while 1:
> d=QDialog()
> b=QPushButton("x",d)
> QObject.connect(b,sss,c) #<-------XXX
> d.exec_loop()
> del b
> del d
>
> --------------------------------------------------
>
> Stay on the escape key, so that many many dialogs
> will be created and deleted.
My guess would be that the Python Garbage collector just doesn't run
often enough to free the memory.
Note this is python, not C++, del foobar doesn't immediately free the
memory associated.
And last but not least: Who on earth creates such code in practice? If
anybody does he deserves slapping.
Another thing could be that a reference to the dialog or the pushbutton
is held "somewhere" by the code that connect() executes. But this is
sth. Phil has to comment on.
> Problem occurs on linux (PyQt-3.5.1-19 (SuSE))
3.5.1? Thats more than ancient.
> and on Windows (PyQt-3.11 and PyQt-3.14)
Well, these are also old versions, PyQt-3.17.
Andreas
--
Your object is to save the world, while still leading a pleasant life.
More information about the PyQt
mailing list