]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Bug fix for "Unplug U Disk during exploer using File Explorer cause tiano halt"
authordtang2 <dtang2@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 7 Nov 2006 02:36:29 +0000 (02:36 +0000)
committerdtang2 <dtang2@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 7 Nov 2006 02:36:29 +0000 (02:36 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1906 6f19259b-4bc3-4df7-8a09-765794883524

EdkNt32Pkg/Dxe/PlatformBds/Generic/BootMaint/FileExplorer.c

index 5f304e0b8f32e62c11886c4ce71a0b9cb7e61156..db835cf534ca9d7829d6ffcdf3c8138ff9353eeb 100644 (file)
@@ -148,7 +148,8 @@ Returns:
   BM_FILE_CONTEXT *NewFileContext;\r
   FORM_ID         FormId;\r
   BOOLEAN         ExitFileExplorer;\r
   BM_FILE_CONTEXT *NewFileContext;\r
   FORM_ID         FormId;\r
   BOOLEAN         ExitFileExplorer;\r
-\r
+  EFI_STATUS      Status;\r
+  \r
   NewMenuEntry      = NULL;\r
   NewFileContext    = NULL;\r
   ExitFileExplorer  = FALSE;\r
   NewMenuEntry      = NULL;\r
   NewFileContext    = NULL;\r
   ExitFileExplorer  = FALSE;\r
@@ -180,7 +181,11 @@ Returns:
     if (NewFileContext->IsDir ) {\r
       RemoveEntryList (&NewMenuEntry->Link);\r
       BOpt_FreeMenu (&DirectoryMenu);\r
     if (NewFileContext->IsDir ) {\r
       RemoveEntryList (&NewMenuEntry->Link);\r
       BOpt_FreeMenu (&DirectoryMenu);\r
-      BOpt_FindFiles (CallbackData, NewMenuEntry);\r
+      Status = BOpt_FindFiles (CallbackData, NewMenuEntry);\r
+       if (EFI_ERROR (Status)) {\r
+         ExitFileExplorer = TRUE;\r
+         goto exit;\r
+       }\r
       CreateMenuStringToken (CallbackData, CallbackData->FeHiiHandle, &DirectoryMenu);\r
       BOpt_DestroyMenuEntry (NewMenuEntry);\r
 \r
       CreateMenuStringToken (CallbackData, CallbackData->FeHiiHandle, &DirectoryMenu);\r
       BOpt_DestroyMenuEntry (NewMenuEntry);\r
 \r
@@ -247,7 +252,7 @@ Returns:
       }\r
     }\r
   }\r
       }\r
     }\r
   }\r
-\r
+exit:\r
   return ExitFileExplorer;\r
 }\r
 \r
   return ExitFileExplorer;\r
 }\r
 \r