From cc29364f06178f8f6b457384f2ec37a042bd9d43 Mon Sep 17 00:00:00 2001 From: tpearson Date: Wed, 1 Sep 2010 00:37:02 +0000 Subject: * Massive set of changes to bring in all fixes and enhancements from the Enterprise PIM branch * Ensured that the Trinity changes were applied on top of those enhancements, and any redundancy removed * Added journal read support to the CalDAV resource * Fixed CalDAV resource to use events URL for tasks and journals when separate URL checkbox unchecked git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1170461 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kmail/isubject.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'kmail/isubject.cpp') diff --git a/kmail/isubject.cpp b/kmail/isubject.cpp index 7219dc0e9..d231d365c 100644 --- a/kmail/isubject.cpp +++ b/kmail/isubject.cpp @@ -31,8 +31,15 @@ namespace KMail { void ISubject::notify() { kdDebug(5006) << "ISubject::notify " << mObserverList.size() << endl; - for ( TQValueVector::iterator it = mObserverList.begin() ; it != mObserverList.end() ; ++it ) - (*it)->update( this ); + + // iterate over a copy (to prevent crashes when + // {attach(),detach()} is called from an Observer::update() + const TQValueVector copy = mObserverList; + for ( TQValueVector::const_iterator it = copy.begin() ; it != copy.end() ; ++it ) { + if ( (*it) ) { + (*it)->update( this ); + } + } } } -- cgit v1.2.1