[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    Re: kdemultimedia/noatun/noatun/library
From:       Charles <charles () altair ! dhs ! org>
Date:       2000-07-31 6:45:52
[Download RAW message or body]

On Mon, 24 Jul 2000, you wrote:
> On Mon, Jul 24, 2000 at 08:02:56AM -0700, Charles wrote:
> > On Sun, 23 Jul 2000, you wrote:
> > > On Mon, 24 Jul 2000, CVS by charles wrote:
> > > 
> > > > Oh, and KAction has a memory leak.  No big problem there.
> > > 
> > > Can you tell me which?
> > Ok. Let me tell you a story:
> > 
> > Here I am wondering why the program crashes on exit.
> > It always seems to crash QWidget::destroyMapper()
> > 
> > I'm not entirely sure what destroyMapper() does, but I can guess that it
> > allocates the windows with Xlib or something.
> 
> No, but it happens to iterate through all widgets that Qt still 
> knows about, and if one of them was "leaked" by a shared library that
> has been unloaded, then crash. This is the crash I fixed in kwrite
> recently, for instance.
> 
> > That tells me that the KLibrary is still loaded and can't be unloaded, entirely.
> More or less.
> > And I eventually found it out which.
> Which ?
The playlist one :)
> 
> > Then I remove every class that is allocated with new.
> > 
> > It's the KActions!
> > 
> > So, I delete the KAction's in it's parents destructor and.... what? It works
> > now?  Blasphemy! KAction has a parent!  It should be destroyed with its
> > parents!
> > 
> > But it isn't.  [sigh]  This is why we use a beta.
> 
> The problem is not exactly the kaction, but probably one of the widgets
> it creates when being plugged, and that widget isn't destroyed
> because the action isn't unplugged. That's the bug you should look
> for: why the action isn't unplugged.
> Reminder: for performance reasons, the KAction destructor doesn't
> unplug the action. So.... if you remove a part from your GUI,
> unplug its actions.
KToolBar sucks.  I have proof.  It just sucks.  Even KAction doesn't need to be
there.  Just buttons created with KToolBar.  Argh.

> 
> > see kdemultimedia/noatun/noatun/modules/splitplaylist/view.cpp
> > Look at class View's constructor and destructor.
> > 
> > And never make me go through that again.
> ?
Pain in the. err. derrier to figure this out.
> 
> -- 
> David FAURE
> david@mandrakesoft.com, faure@kde.org
> http://home.clara.net/faure/, http://www.konqueror.org/
> KDE, Making The Future of Computing Available Today
--

Charles - charles@kde.org
"Flotte sko, vil du knulle?"

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic