MdeModulePkg: Improved SetupBrowser handling to failed GOTO callback.
On a failed REF_OP callback, all changed fields in the Selection should be restored. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Cecil Sheng <cecil.sheng@hpe.com> Reviewed-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Samer El-Haj-Mahmoud <elhaj@hpe.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19245 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
		| @@ -2,6 +2,7 @@ | |||||||
| Utility functions for UI presentation. | Utility functions for UI presentation. | ||||||
|  |  | ||||||
| Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR> | Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR> | ||||||
|  | (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR> | ||||||
| This program and the accompanying materials | This program and the accompanying materials | ||||||
| are licensed and made available under the terms and conditions of the BSD License | are licensed and made available under the terms and conditions of the BSD License | ||||||
| which accompanies this distribution.  The full text of the license may be found at | which accompanies this distribution.  The full text of the license may be found at | ||||||
| @@ -2505,10 +2506,13 @@ SetupBrowser ( | |||||||
|           // |           // | ||||||
|           if (EFI_ERROR (Status)) { |           if (EFI_ERROR (Status)) { | ||||||
|             // |             // | ||||||
|             // Cross reference will not be taken |             // Cross reference will not be taken, restore all essential field | ||||||
|             // |             // | ||||||
|             Selection->FormId = Selection->Form->FormId; |             Selection->Handle = mCurrentHiiHandle; | ||||||
|  |             CopyMem (&Selection->FormSetGuid, &mCurrentFormSetGuid, sizeof (EFI_GUID)); | ||||||
|  |             Selection->FormId = mCurrentFormId; | ||||||
|             Selection->QuestionId = 0; |             Selection->QuestionId = 0; | ||||||
|  |             Selection->Action = UI_ACTION_REFRESH_FORM; | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user