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