[edk2-devel] [PATCH] MdeModulePkg/DisplayEngineDxe: Fix Help information shadow problem

gechao@greatwall.com.cn posted 1 patch 3 years, 3 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/edk2 tags/patchew/d7f8114b79f05db866180dc8017b291856d6f175.1609143528.git.gechao@greatwall.com.cn
.../Universal/DisplayEngineDxe/FormDisplay.c  | 27 +++++++++++++++++++
1 file changed, 27 insertions(+)
[edk2-devel] [PATCH] MdeModulePkg/DisplayEngineDxe: Fix Help information shadow problem
Posted by gechao@greatwall.com.cn 3 years, 3 months ago
From: gechao <gechao@greatwall.com.cn>

Fix residual display problem in help information section with different
length string. When switching between different items, the help inform-
ation part may remain the last displayed help information content.
Example:
    Last: ABCDEFGH, New:  1234567
    Result: 1234567H

Signed-off-by: gechao <gechao@greatwall.com.cn>
---
 .../Universal/DisplayEngineDxe/FormDisplay.c  | 27 +++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c b/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
index a3898dc2ec..abb4843a73 100644
--- a/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
+++ b/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
@@ -3061,6 +3061,15 @@ UiDisplayMenu (
       //
       if (!MultiHelpPage) {
         for (Index = 0; Index < HelpLine; Index++) {
+          //
+          // Clear whole line first, Clear the last displayed information.
+          //
+          PrintStringAtWithWidth (
+            gStatementDimensions.RightColumn - gHelpBlockWidth,
+            Index + TopRow,
+            gEmptyString,
+            gHelpBlockWidth
+            );
           PrintStringAtWithWidth (
             gStatementDimensions.RightColumn - gHelpBlockWidth,
             Index + TopRow,
@@ -3080,6 +3089,15 @@ UiDisplayMenu (
       } else  {
         if (HelpPageIndex == 0) {
           for (Index = 0; Index < RowCount - HelpBottomLine; Index++) {
+            //
+            // Clear whole line first, Clear the last displayed information.
+            //
+            PrintStringAtWithWidth (
+              gStatementDimensions.RightColumn - gHelpBlockWidth,
+              Index + TopRow,
+              gEmptyString,
+              gHelpBlockWidth
+              );
             PrintStringAtWithWidth (
               gStatementDimensions.RightColumn - gHelpBlockWidth,
               Index + TopRow,
@@ -3090,6 +3108,15 @@ UiDisplayMenu (
         } else {
           for (Index = 0; (Index < RowCount - HelpBottomLine - HelpHeaderLine) &&
               (Index + HelpPageIndex * (RowCount - 2) + 1 < HelpLine); Index++) {
+            //
+            // Clear whole line first, Clear the last displayed information.
+            //
+            PrintStringAtWithWidth (
+              gStatementDimensions.RightColumn - gHelpBlockWidth,
+              Index + TopRow + HelpHeaderLine,
+              gEmptyString,
+              gHelpBlockWidth
+              );
             PrintStringAtWithWidth (
               gStatementDimensions.RightColumn - gHelpBlockWidth,
               Index + TopRow + HelpHeaderLine,
-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#69488): https://edk2.groups.io/g/devel/message/69488
Mute This Topic: https://groups.io/mt/79282846/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


回复: [edk2-devel] [PATCH] MdeModulePkg/DisplayEngineDxe: Fix Help information shadow problem
Posted by gaoliming 3 years, 3 months ago
Chao:
  Please submit BZ in https://bugzilla.tianocore.org/, and fill more detail
scription. It will be helpful for others to understand this problem.  

Thanks
Liming
> -----邮件原件-----
> 发件人: bounce+27952+69488+4905953+8761045@groups.io
> <bounce+27952+69488+4905953+8761045@groups.io> 代表
> gechao@greatwall.com.cn
> 发送时间: 2020年12月28日 17:12
> 收件人: dandan.bi@intel.com; eric.dong@intel.com
> 抄送: devel@edk2.groups.io; jian.j.wang@intel.com; hao.a.wu@intel.com;
> gechao <gechao@greatwall.com.cn>
> 主题: [edk2-devel] [PATCH] MdeModulePkg/DisplayEngineDxe: Fix Help
> information shadow problem
> 
> From: gechao <gechao@greatwall.com.cn>
> 
> Fix residual display problem in help information section with different
> length string. When switching between different items, the help inform-
> ation part may remain the last displayed help information content.
> Example:
>     Last: ABCDEFGH, New:  1234567
>     Result: 1234567H
> 
> Signed-off-by: gechao <gechao@greatwall.com.cn>
> ---
>  .../Universal/DisplayEngineDxe/FormDisplay.c  | 27
> +++++++++++++++++++
>  1 file changed, 27 insertions(+)
> 
> diff --git a/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
> b/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
> index a3898dc2ec..abb4843a73 100644
> --- a/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
> +++ b/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
> @@ -3061,6 +3061,15 @@ UiDisplayMenu (
>        //
> 
>        if (!MultiHelpPage) {
> 
>          for (Index = 0; Index < HelpLine; Index++) {
> 
> +          //
> 
> +          // Clear whole line first, Clear the last displayed
information.
> 
> +          //
> 
> +          PrintStringAtWithWidth (
> 
> +            gStatementDimensions.RightColumn - gHelpBlockWidth,
> 
> +            Index + TopRow,
> 
> +            gEmptyString,
> 
> +            gHelpBlockWidth
> 
> +            );
> 
>            PrintStringAtWithWidth (
> 
>              gStatementDimensions.RightColumn - gHelpBlockWidth,
> 
>              Index + TopRow,
> 
> @@ -3080,6 +3089,15 @@ UiDisplayMenu (
>        } else  {
> 
>          if (HelpPageIndex == 0) {
> 
>            for (Index = 0; Index < RowCount - HelpBottomLine; Index++) {
> 
> +            //
> 
> +            // Clear whole line first, Clear the last displayed
information.
> 
> +            //
> 
> +            PrintStringAtWithWidth (
> 
> +              gStatementDimensions.RightColumn - gHelpBlockWidth,
> 
> +              Index + TopRow,
> 
> +              gEmptyString,
> 
> +              gHelpBlockWidth
> 
> +              );
> 
>              PrintStringAtWithWidth (
> 
>                gStatementDimensions.RightColumn - gHelpBlockWidth,
> 
>                Index + TopRow,
> 
> @@ -3090,6 +3108,15 @@ UiDisplayMenu (
>          } else {
> 
>            for (Index = 0; (Index < RowCount - HelpBottomLine -
> HelpHeaderLine) &&
> 
>                (Index + HelpPageIndex * (RowCount - 2) + 1 < HelpLine);
> Index++) {
> 
> +            //
> 
> +            // Clear whole line first, Clear the last displayed
information.
> 
> +            //
> 
> +            PrintStringAtWithWidth (
> 
> +              gStatementDimensions.RightColumn - gHelpBlockWidth,
> 
> +              Index + TopRow + HelpHeaderLine,
> 
> +              gEmptyString,
> 
> +              gHelpBlockWidth
> 
> +              );
> 
>              PrintStringAtWithWidth (
> 
>                gStatementDimensions.RightColumn - gHelpBlockWidth,
> 
>                Index + TopRow + HelpHeaderLine,
> 
> --
> 2.25.1
> 
> 
> 
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#69488): https://edk2.groups.io/g/devel/message/69488
> Mute This Topic: https://groups.io/mt/79282846/4905953
> Group Owner: devel+owner@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub
> [gaoliming@byosoft.com.cn]
> -=-=-=-=-=-=
> 





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#69490): https://edk2.groups.io/g/devel/message/69490
Mute This Topic: https://groups.io/mt/79282990/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-