public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [patch] MdeModulePkg/DisplayEngine: Return the selectable menu correctly
@ 2016-11-22  3:15 Dandan Bi
  2016-11-22  8:25 ` Dong, Eric
  0 siblings, 1 reply; 2+ messages in thread
From: Dandan Bi @ 2016-11-22  3:15 UTC (permalink / raw)
  To: edk2-devel; +Cc: Liming Gao, Eric Dong

When returning selectable menu, should return the menu in current form,
the codes miss to do the check. Now returning the selectable menu behind
the codes "if ((UINTN) Distance + NextMenuOption->Skip > GapToTop)".
Then can cover the check, can return the menu correctly.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
 MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c b/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
index c2cffec..316e2e3 100644
--- a/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
+++ b/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
@@ -1048,25 +1048,28 @@ MoveToNextStatement (
     //
     if (NextMenuOption->Row == 0) {
       UpdateOptionSkipLines (NextMenuOption);
     }
 
-    if (IsSelectable (NextMenuOption)) {
-      break;
-    }
-
     //
-    // In this case, still can't find the selectable menu,
+    // Check whether the menu is beyond current showing form,
     // return the first one beyond the showing form.
     //
     if ((UINTN) Distance + NextMenuOption->Skip > GapToTop) {
       if (FindInForm) {
         NextMenuOption = PreMenuOption;
       }
       break;
     }
 
+    //
+    // return the selectable menu in the showing form.
+    //
+    if (IsSelectable (NextMenuOption)) {
+      break;
+    }
+
     Distance += NextMenuOption->Skip;
 
     //
     // Arrive at begin of the menu list.
     //
-- 
1.9.5.msysgit.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [patch] MdeModulePkg/DisplayEngine: Return the selectable menu correctly
  2016-11-22  3:15 [patch] MdeModulePkg/DisplayEngine: Return the selectable menu correctly Dandan Bi
@ 2016-11-22  8:25 ` Dong, Eric
  0 siblings, 0 replies; 2+ messages in thread
From: Dong, Eric @ 2016-11-22  8:25 UTC (permalink / raw)
  To: Bi, Dandan, edk2-devel@lists.01.org; +Cc: Gao, Liming

Reviewed-by: Eric Dong <eric.dong@intel.com>

> -----Original Message-----
> From: Bi, Dandan
> Sent: Tuesday, November 22, 2016 11:15 AM
> To: edk2-devel@lists.01.org
> Cc: Gao, Liming; Dong, Eric
> Subject: [patch] MdeModulePkg/DisplayEngine: Return the selectable menu correctly
> 
> When returning selectable menu, should return the menu in current form,
> the codes miss to do the check. Now returning the selectable menu behind
> the codes "if ((UINTN) Distance + NextMenuOption->Skip > GapToTop)".
> Then can cover the check, can return the menu correctly.
> 
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Eric Dong <eric.dong@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> ---
>  MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c b/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
> index c2cffec..316e2e3 100644
> --- a/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
> +++ b/MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
> @@ -1048,25 +1048,28 @@ MoveToNextStatement (
>      //
>      if (NextMenuOption->Row == 0) {
>        UpdateOptionSkipLines (NextMenuOption);
>      }
> 
> -    if (IsSelectable (NextMenuOption)) {
> -      break;
> -    }
> -
>      //
> -    // In this case, still can't find the selectable menu,
> +    // Check whether the menu is beyond current showing form,
>      // return the first one beyond the showing form.
>      //
>      if ((UINTN) Distance + NextMenuOption->Skip > GapToTop) {
>        if (FindInForm) {
>          NextMenuOption = PreMenuOption;
>        }
>        break;
>      }
> 
> +    //
> +    // return the selectable menu in the showing form.
> +    //
> +    if (IsSelectable (NextMenuOption)) {
> +      break;
> +    }
> +
>      Distance += NextMenuOption->Skip;
> 
>      //
>      // Arrive at begin of the menu list.
>      //
> --
> 1.9.5.msysgit.1



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-11-22  8:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-22  3:15 [patch] MdeModulePkg/DisplayEngine: Return the selectable menu correctly Dandan Bi
2016-11-22  8:25 ` Dong, Eric

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox