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

List:       kde-commits
Subject:    kdenetwork/kopete/kopete
From:       Olivier Goffart <ogoffart () kde ! org>
Date:       2005-03-29 15:15:40
Message-ID: 20050329151540.C6DCA3CF () office ! kde ! org
[Download RAW message or body]

CVS commit by ogoffart: 

Fix bug 100196: Kopete Crashes When Ignoring Messages from Non-Buddies

The problem was not with one, not with two, but with at least 3 messages
one ignore the fisrt => the contact is removed => the next event is removed => \
addBalloon is called for the third event => crash

Solved the problem by delaying addBalloon, so it will leave the time to delete all \
events with deleteLater before addBalloon is called.

to be backported
BUG: 100196


  M +5 -1      systemtray.cpp   1.56
  M +1 -1      systemtray.h   1.10


--- kdenetwork/kopete/kopete/systemtray.cpp  #1.55:1.56
@@ -231,5 +231,9 @@ void KopeteSystemTray::slotEventDone(Kop
                 m_balloon=0l;
                 if(!mEventList.isEmpty())
-                        addBalloon();
+                {
+                        //delay the addBalloon to let the time to event be deleted
+                        //in case a contact has been deleted   cf Bug 100196
+                        QTimer::singleShot(0, this, SLOT(addBalloon()));
+                }
         }
 

--- kdenetwork/kopete/kopete/systemtray.h  #1.9:1.10
@@ -76,8 +76,8 @@ private slots:
         void slotConfigChanged();
         void slotReevaluateAccountStates();
+        void addBalloon();
 
 private:
         KopeteSystemTray( QWidget* parent, const char* name );
-        void addBalloon();
         QString squashMessage( const Kopete::Message& msgText );
 


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

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