qcpix/src/platform/s60/src/cpixutils.cpp
changeset 18 3e1f76dd2722
parent 15 cf5c74390b98
--- a/qcpix/src/platform/s60/src/cpixutils.cpp	Wed Aug 18 10:53:26 2010 +0300
+++ b/qcpix/src/platform/s60/src/cpixutils.cpp	Thu Sep 02 21:37:32 2010 +0300
@@ -46,26 +46,30 @@
 	
 CpixDocument** CpixBatchDocFromCSearchDocument( TInt aReturnDoc, CSearchDocument** aDoc )
     {
-    if( aDoc == NULL ) return NULL;
+    if( aDoc == NULL || !aReturnDoc ) return NULL;
     CpixDocument** cpixBatchDocs = NULL;
     cpixBatchDocs = (CpixDocument**)malloc ( sizeof(CpixDocument*) * (aReturnDoc));
     for (int count = 0; count < aReturnDoc; count++)
         {        
         CpixDocument* cpixDoc = CpixDocument::newInstance();
-        cpixDoc->setBaseAppClass( QStringFromDescriptor( aDoc[count]->AppClass() ) );
-        cpixDoc->setDocId( QStringFromDescriptor( aDoc[count]->Id() ) );
-        cpixDoc->setExcerpt( QStringFromDescriptor( aDoc[count]->Excerpt() ) );
-    
-        int fieldCount = aDoc[count]->FieldCount();
-        for( int i=0; i< fieldCount; i++ )
+        if ( cpixDoc )
             {
-            const CDocumentField& field = aDoc[count]->Field( i );
-            cpixDoc->addField( QStringFromDescriptor( field.Name() ), QStringFromDescriptor( field.Value() ), field.Config() );
+            cpixDoc->setBaseAppClass( QStringFromDescriptor( aDoc[count]->AppClass() ) );
+            cpixDoc->setDocId( QStringFromDescriptor( aDoc[count]->Id() ) );
+            cpixDoc->setExcerpt( QStringFromDescriptor( aDoc[count]->Excerpt() ) );
+        
+            int fieldCount = aDoc[count]->FieldCount();
+            for( int i=0; i< fieldCount; i++ )
+                {
+                const CDocumentField& field = aDoc[count]->Field( i );
+                cpixDoc->addField( QStringFromDescriptor( field.Name() ), QStringFromDescriptor( field.Value() ), field.Config() );
+                }
             }
         cpixBatchDocs[count]= cpixDoc;
         delete aDoc[count];
         aDoc[count] = NULL;
         }
     delete aDoc;
+    aDoc = NULL;
     return cpixBatchDocs;
     }