--- 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;
}