[PATCH] kmail leaking KPopupMenus
Ingo Klöcker
kloecker at kde.org
Tue Dec 30 12:05:08 GMT 2003
On Tuesday 30 December 2003 12:26, Rolf Magnus wrote:
> On Tuesday 30 December 2003 12:02, André Wöbbeking wrote:
> > On Tuesday 30 December 2003 11:48, Rolf Magnus wrote:
> > > Attached is a patch for a small leak in KMail. Whenever you
> > > drag/drop a mail into a mail folder, a new KPopupMenu for
> > > selection between copy and move is created, but not destroyed.
> > > This patch creates the menu once and reuses it.
> >
> > why not creating the menu on the stack, i.e.
> >
> > KPopupMenu menu( this );
> > menu.insertItem( i18n("&Move Here"), DRAG_MOVE, 0 );
> > ...
> > int id = menu.exec( QCursor::pos(), 0 );
>
> The popup menu is created as child of the list view. When the list
> view itself is deleted, all the children get deleted too, but there
> is no menu to be deleted => boom. It might work by doing a
> removeChild() afterwards, but I'm not sure if that's sufficient.
Widgets are created on the stack all over the place. If a widget is
deleted then it will surely tell its parent about that. Any other
behavior would be braindead and I doubt we would be using Qt if it
behaved this way.
IOW, did you test that it would crash?
Regards,
Ingo
More information about the kde-core-devel
mailing list