photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp
branchRCL_3
changeset 18 bcb43dc84c44
parent 14 ce1c7ad1f18b
child 25 191387a8b767
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp	Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp	Wed Mar 31 21:31:03 2010 +0300
@@ -345,6 +345,7 @@
 void CGlxDataSourceMde::HandleSessionError(CMdESession& /*aSession*/, TInt aError )    
     {
     TRACER("CGlxDataSourceMde::HandleSessionError(CMdESession& /*aSession*/, TInt aError)")
+    delete iSession;
     iSession = NULL;
     
     GLX_DEBUG2("void CGlxDataSourceMde::HandleSessionError() Session Error = %d", aError);
@@ -521,8 +522,18 @@
 	iSession->AddRelationObserverL(*this);
 	iSession->AddRelationPresentObserverL(*this);
 	
-	iSession->AddObjectObserverL(*this);
-	iSession->AddObjectPresentObserverL(*this);
+	//when setting observing conditions,
+	//add filters for all images, videos, Albums & Tags
+	CMdELogicCondition* addCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorOr );
+	addCondition->AddObjectConditionL( *iImageDef );
+	addCondition->AddObjectConditionL( *iVideoDef );
+	addCondition->AddObjectConditionL( *iAlbumDef );
+	addCondition->AddObjectConditionL( *iTagDef );
+	
+	iSession->AddObjectObserverL(*this, addCondition );
+	iSession->AddObjectPresentObserverL(*this );
+		
+	CleanupStack::PopAndDestroy( addCondition ); 
     }
 
 // ---------------------------------------------------------------------------