diff -r a41df078684a -r 4122176ea935 userlibandfileserver/fileserver/sfile/sf_request.cpp --- a/userlibandfileserver/fileserver/sfile/sf_request.cpp Mon Oct 19 15:55:17 2009 +0100 +++ b/userlibandfileserver/fileserver/sfile/sf_request.cpp Mon Dec 21 16:14:42 2009 +0000 @@ -1642,7 +1642,7 @@ TBool CFsMessageRequest::DispatchToPlugin() // -// +// Common route: Receive -> Process -> Dispatch -> DispatchToPlugin // { TInt drivenumber = DriveNumber(); @@ -1694,8 +1694,21 @@ { // The plugin has processed synchronously (case 1) // - Pass the message on to the next plugin - FsPluginManager::NextPlugin(iCurrentPlugin, this,(TBool)ETrue); - continue; + if(FsFunction() != EFsPluginOpen) + { + FsPluginManager::NextPlugin(iCurrentPlugin, this,(TBool)ETrue); + continue; + } + else // FsFunction == EFsPluginOpen + { + /* + * PluginOpen requests should not be passed down the plugin stack. + * + + */ + iCurrentPlugin = NULL; + continue; + } } else if(err == KPluginMessageComplete) {