diff -r 7be2816dbabd -r 137ebc85284b menufw/hierarchynavigator/hnmetadatamodel/src/hnmdvalueimage.cpp --- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdvalueimage.cpp Tue May 11 16:02:39 2010 +0300 +++ b/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdvalueimage.cpp Tue May 25 12:29:32 2010 +0300 @@ -278,11 +278,25 @@ { DEBUG16(("_MM_: CHnMdValueImage::FindMatchigMifFileL IN")); + _LIT( KGridRootMif, "gridroot.mif" ); + // whole path to the mif file was not specified TDriveList driveList; HBufC* ret = NULL; - if ( KErrNone == aFs.DriveList( driveList ) ) + if ( aFileName == KGridRootMif ) + { + ret = HBufC::NewL( + 1 + KRscPath().Length() + // 1 - drive letter len. + aFileName.Length() ); + TPtr ptr( ret->Des() ); + TChar driveLetter; + aFs.DriveToChar( EDriveZ, driveLetter ); + ptr.Append( driveLetter ); + ptr.Append( KRscPath ); + ptr.Append( aFileName ); + } + else if ( KErrNone == aFs.DriveList( driveList ) ) { TInt driveNumber( EDriveY ); // start with drive Y do // iterates through drives: Y, X, W, ..., C, B, A, Z @@ -336,15 +350,18 @@ CleanupClosePushL( tmpBuf ); TInt errCode = HnLiwUtils::GetStringL( *iParamList, iMifFile8, iPos, tmpBuf ); - if ( !BaflUtils::FileExists( iCmnPtrs->iFs, tmpBuf ) && tmpBuf.Length() ) + if ( tmpBuf.Length() ) { - // fileName was retrieved but corresponding file was not found - ret = FindMatchigMifFileL( iCmnPtrs->iFs, tmpBuf ); - } - else if ( tmpBuf.Length() ) - { - // return fileName as it is - ret = tmpBuf.AllocL(); + if ( BaflUtils::FileExists( iCmnPtrs->iFs, tmpBuf ) ) + { + // return fileName as it is + ret = tmpBuf.AllocL(); + } + else + { + // fileName was retrieved but corresponding file was not found + ret = FindMatchigMifFileL( iCmnPtrs->iFs, tmpBuf ); + } } // clean up