Reviewed-by: Ruiyu Ni <ruiyu...@intel.com>

Thanks/Ray

> -----Original Message-----
> From: Bi, Dandan
> Sent: Monday, September 10, 2018 3:12 PM
> To: edk2-devel@lists.01.org
> Cc: Bi, Dandan <dandan...@intel.com>; Ni, Ruiyu <ruiyu...@intel.com>; Ard
> Biesheuvel <ard.biesheu...@linaro.org>; Leif Lindholm
> <leif.lindh...@linaro.org>
> Subject: [patch 1/3] EmbeddedPkg/VirtualKeyboard: Avoid notification called
> more than once
> 
> From: Dandan Bi <dandan...@intel.com>
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=996
> 
> Issue:
> In current code logic, when a key is pressed, it will search the whole
> NotifyList to find whether a notification has been registered with the
> keystroke. if yes, it will en-queue the key for notification execution later.
> And now if different notification functions have been registered with the
> same key, then the key will be en-queued more than once. Then it will cause
> the notification executed more than once.
> 
> This patch is to enhance the code logic to fix this issue.
> 
> Cc: Ruiyu Ni <ruiyu...@intel.com>
> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>
> Cc: Leif Lindholm <leif.lindh...@linaro.org>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Dandan Bi <dandan...@intel.com>
> ---
>  EmbeddedPkg/Drivers/VirtualKeyboardDxe/VirtualKeyboard.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/EmbeddedPkg/Drivers/VirtualKeyboardDxe/VirtualKeyboard.c
> b/EmbeddedPkg/Drivers/VirtualKeyboardDxe/VirtualKeyboard.c
> index 6609bc8dbe..daea9c47d2 100644
> --- a/EmbeddedPkg/Drivers/VirtualKeyboardDxe/VirtualKeyboard.c
> +++ b/EmbeddedPkg/Drivers/VirtualKeyboardDxe/VirtualKeyboard.c
> @@ -1,9 +1,9 @@
>  /** @file
>    VirtualKeyboard driver
> 
> -Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
>  Copyright (c) 2018, Linaro Ltd. 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 @@ -1043,10 +1043,11 @@
> VirtualKeyboardTimerHandler (
>        // while current TPL is TPL_NOTIFY. It will be invoked in
>        // KeyNotifyProcessHandler() which runs at TPL_CALLBACK.
>        //
>        Enqueue (&VirtualKeyboardPrivate->QueueForNotify, &KeyData);
>        gBS->SignalEvent (VirtualKeyboardPrivate->KeyNotifyProcessEvent);
> +      break;
>      }
>    }
> 
>    Enqueue (&VirtualKeyboardPrivate->Queue, &KeyData);
> 
> --
> 2.14.3.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to