diff -r 65326cf895ed -r f5c50b8af68c filemanager/App/src/Cfilemanagersearchresultsview.cpp --- a/filemanager/App/src/Cfilemanagersearchresultsview.cpp Wed Sep 01 12:31:07 2010 +0100 +++ b/filemanager/App/src/Cfilemanagersearchresultsview.cpp Tue Sep 14 20:57:31 2010 +0300 @@ -90,17 +90,34 @@ // ----------------------------------------------------------------------------- // void CFileManagerSearchResultsView::DirectoryChangedL() - { + { FUNC_LOG RefreshTitleL(); - if ( iContainer ) + if ( !iContainer ) { - iContainer->RefreshListL( iIndex ); - UpdateCbaL(); + return; } + // Get current drive's drive info cache. + TFileManagerDriveInfo& drvInfo( DriveInfo() ); + // Ensure drive info is updated. + iEngine.GetDriveInfoL( drvInfo.iDrive, drvInfo ); + // Manually deactivate marking mode if current drive + // is not available. + if ( drvInfo.iState & TFileManagerDriveInfo::EDriveInUse || + !( drvInfo.iState & TFileManagerDriveInfo::EDrivePresent ) ) + { + if (iContainer->IsMarkingModeActivated() ) + { + iContainer->SetMarkingMode( EFalse ); + } + } + + iContainer->RefreshListL( iIndex ); + UpdateCbaL(); } + // ----------------------------------------------------------------------------- // CFileManagerSearchResultsView::Id //