srsf/nssvascontacthdlr/src/nssvasccontacthandlerimpl.cpp
branchRCL_3
changeset 20 bf318c0ae8c0
parent 19 e36f3802f733
--- a/srsf/nssvascontacthdlr/src/nssvasccontacthandlerimpl.cpp	Wed Sep 01 12:29:17 2010 +0100
+++ b/srsf/nssvascontacthdlr/src/nssvasccontacthandlerimpl.cpp	Tue Sep 14 21:21:09 2010 +0300
@@ -1522,16 +1522,25 @@
             }
         }
         
-    TRAPD( err, // trapping is a fix to make the function non-leaving
+//    TRAPD( err, // trapping is a fix to make the function non-leaving
 
 	    // Add the tags to the to-be-deleted list.
 	    // (there are 1 or 2 tags in aTagList depending on
 	    //  whether nickname is also there or not)
-	    for ( TInt k( 0 ); k < aTagList->Count(); k++ )
+	    TRAPD(err,
+		for ( TInt k( 0 ); k < aTagList->Count(); k++ )
 	        {
 	        iDeleteTagListArray->AppendL( (*aTagList)[k] );
 	        }
-
+			);
+		if ( err != KErrNone )
+			{
+			// Destroy tag list
+	    	aTagList->Reset();
+	    	delete aTagList;
+	    	aTagList = 0;
+	        return;
+			}
 	    // We have processed this ID
 	    RUBY_DEBUG1( "CNssContactHandlerImplementation::DoRemoveNamesAfterGetTagList Before removal. iDelList.Count [%d]", iDelList.Count() );
 	    if( iDelList.Count() > 0 ) 
@@ -1571,11 +1580,11 @@
 	        RUBY_DEBUG0( "DoRemoveNamesAfterGetTagList Moving to the next phase" );
 	        DoRemoveNamesCallDeleteTag();
 	        }
-        );  // TRAPD
-        if( err != KErrNone ) 
-        	{
-        	RUBY_ERROR1( "CNssContactHandlerImplementation::DoRemoveNamesAfterGetTagList Leaves with [%d] inside", err );
-        	}
+//        );  // TRAPD
+//        if( err != KErrNone ) 
+//        	{
+//        	RUBY_ERROR1( "CNssContactHandlerImplementation::DoRemoveNamesAfterGetTagList Leaves with [%d] inside", err );
+//        	}
 		// Destroy tag list
 	    aTagList->Reset();
 	    delete aTagList;