diff -r f6d3d9676ee4 -r d63d727ee0a6 userlibandfileserver/fileserver/sfile/sf_request.cpp --- a/userlibandfileserver/fileserver/sfile/sf_request.cpp Tue Dec 08 08:11:42 2009 +0100 +++ b/userlibandfileserver/fileserver/sfile/sf_request.cpp Mon Jan 04 12:25:19 2010 +0100 @@ -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) {