diff -r cf5c74390b98 -r 3e1f76dd2722 qcpix/src/platform/s60/src/cpixutils.cpp --- 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; }