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

List:       kde-commits
Subject:    KDE/kdepim/akregator/src
From:       Teemu Rytilahti <tpr () d5k ! net>
Date:       2008-08-19 13:26:24
Message-ID: 1219152384.701275.14741.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 849392 by rytilahti:

don't leak khtmlparts.. call deleteLater() to Frame so that its private class will \
get removed, KTabWidget::removeTab() doesn't do it automatically. for some reason it \
still gives stale /KHTML<id>  entries via dbus interface, even though \
/KHTML<id>/widgets are removed. if someone knows a reason for this, please ping me..


 M  +3 -1      tabwidget.cpp  


--- trunk/KDE/kdepim/akregator/src/tabwidget.cpp #849391:849392
@@ -162,7 +162,8 @@
     addTab(frame, frame->title());
     connect(frame, SIGNAL(signalTitleChanged(Akregator::Frame*, const QString& )), 
             this, SLOT(slotSetTitle(Akregator::Frame*, const QString& )));
-    connect(frame, SIGNAL(signalPartDestroyed(int)), this, \
SLOT(slotRemoveFrame(int))); +    if(frame->id() > 0) // MainFrame doesn't emit \
signalPartDestroyed signals, neither should it +        connect(frame, \
SIGNAL(signalPartDestroyed(int)), this, SLOT(slotRemoveFrame(int)));  \
slotSetTitle(frame, frame->title());  }
 
@@ -206,6 +207,7 @@
     d->frames.remove(f);
     d->framesById.remove(frameId);
     removeTab(indexOf(f));
+    f->deleteLater(); // removeTab doesn't remove the widget, so let's do it \
ourselves  if (d->currentFrame())
       d->setTitle( d->currentFrame()->title(), currentWidget() );
 }


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

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