--- a/logsui/logsengine/logssymbianos/src/logsreader.cpp Mon Aug 23 18:14:51 2010 +0300
+++ b/logsui/logsengine/logssymbianos/src/logsreader.cpp Fri Sep 03 14:26:05 2010 +0300
@@ -102,6 +102,14 @@
Cancel();
deleteLogViews();
clearGlobalObserver();
+ cleanContactCache();
+
+ qDeleteAll( mReadStates );
+ mReadStates.clear();
+ qDeleteAll( mModifyingStates );
+ mModifyingStates.clear();
+ qDeleteAll( mDuplicateReadingStates );
+ mDuplicateReadingStates.clear();
LOGS_QDEBUG( "logs [ENG] <- LogsReader::stop()" )
}
@@ -114,16 +122,8 @@
{
LOGS_QDEBUG( "logs [ENG] -> LogsReader::updateDetails()" )
- if ( clearCached ){
- mContactCache.clear();
- }
- foreach (LogsEvent* event, mEvents){
- event->prepareForContactMatching();
- if ( clearCached && event->contactMatched() ){
- event->setContactMatched( false );
- event->setRemoteParty("");
- }
- }
+ Q_UNUSED( clearCached );
+ cleanContactCache();
start();
@@ -614,3 +614,15 @@
mGlobalObserverSet = false;
}
}
+
+// ----------------------------------------------------------------------------
+// LogsReader::cleanContactCache
+// ----------------------------------------------------------------------------
+//
+void LogsReader::cleanContactCache()
+{
+ mContactCache.clear();
+ foreach (LogsEvent* event, mEvents){
+ event->prepareForContactMatching();
+ }
+}