summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiaxin Wu <jiaxin.wu@intel.com>2017-04-17 16:06:04 +0800
committerGuo Mang <mang.guo@intel.com>2017-07-12 11:24:24 +0800
commit915064f08532fec87bec89438cd831a8708b0213 (patch)
treec175751f7b85eb100aab68c50319691a15531834
parent5a639cd2de3131cfe83b79c6e58d0945844d20a6 (diff)
downloadedk2-platforms-915064f08532fec87bec89438cd831a8708b0213.tar.xz
MdeModulePkg/DeviceManagerUiLib: Fix the network device MAC display issue
v3: * Add NULL string check. v2: * Define new STR_FORM_NETWORK_DEVICE_TITLE_HEAD for L" Network Device " instead of hard code in the code. Network device tile (STR_FORM_NETWORK_DEVICE_TITLE) is dynamic adjusted according the different MAC value. So, the string value shouldn't be treated as a constant string (Network Device). Otherwise, the display will be incorrect. Reproduce: Device Manager->Network Device List, select to enter MAC, then to press ESC back to previous page, then re-enter, found each enter/ESC operation, the MAC address display +1. Cc: Eric Dong <eric.dong@intel.com> Cc: Ye Ting <ting.ye@intel.com> Cc: Fu Siyuan <siyuan.fu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com> (cherry picked from commit 205a4b0c15372c004a947b6873f711805415f542)
-rw-r--r--Core/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c11
-rw-r--r--Core/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerStrings.uni5
2 files changed, 10 insertions, 6 deletions
diff --git a/Core/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c b/Core/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c
index 5098b70e97..23ae6c5392 100644
--- a/Core/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c
+++ b/Core/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c
@@ -540,12 +540,15 @@ CreateDeviceManagerForm(
// Update the network device form titile.
//
if (NextShowFormId == NETWORK_DEVICE_FORM_ID) {
- String = HiiGetString (HiiHandle, STRING_TOKEN (STR_FORM_NETWORK_DEVICE_TITLE), NULL);
- NewStringLen = StrLen(mSelectedMacAddrString) * 2;
- NewStringLen += (StrLen(String) + 2) * 2;
+ String = HiiGetString (HiiHandle, STRING_TOKEN (STR_FORM_NETWORK_DEVICE_TITLE_HEAD), NULL);
+ if (String == NULL) {
+ return;
+ }
+ NewStringLen = StrLen (mSelectedMacAddrString) * 2;
+ NewStringLen += (StrLen (String) + 2) * 2;
NewStringTitle = AllocatePool (NewStringLen);
UnicodeSPrint (NewStringTitle, NewStringLen, L"%s %s", String, mSelectedMacAddrString);
- HiiSetString (HiiHandle, STRING_TOKEN (STR_FORM_NETWORK_DEVICE_TITLE), NewStringTitle, NULL);
+ HiiSetString (HiiHandle, STRING_TOKEN (STR_FORM_NETWORK_DEVICE_TITLE), NewStringTitle, NULL);
FreePool (String);
FreePool (NewStringTitle);
}
diff --git a/Core/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerStrings.uni b/Core/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerStrings.uni
index 061e4be434..55d03d6239 100644
--- a/Core/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerStrings.uni
+++ b/Core/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerStrings.uni
@@ -2,7 +2,7 @@
//
// String definitions for the Device Manager.
//
-// Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
+// Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
// This program and the accompanying materials
// 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
@@ -42,7 +42,8 @@
#language fr-FR ""
#string STR_EXIT_STRING #language en-US "Press ESC to exit."
#language fr-FR "Press ESC to exit."
-#string STR_FORM_NETWORK_DEVICE_TITLE #language en-US "Network Device"
+#string STR_FORM_NETWORK_DEVICE_TITLE_HEAD #language en-US "Network Device"
+#string STR_FORM_NETWORK_DEVICE_TITLE #language en-US "Network Device"
#language fr-FR "Network Device"
#string STR_FORM_NETWORK_DEVICE_HELP #language en-US "Network Device Help..."
#language fr-FR "Network Device Help..."