On 06/08/15 23:52, Carsey, Jaben wrote: > > >> -----Original Message----- >> From: Laszlo Ersek [mailto:ler...@redhat.com] >> Sent: Monday, June 08, 2015 2:24 PM >> To: Qiu, Shumin >> Cc: edk2-devel@lists.sourceforge.net; Jin, Eric >> Subject: Re: [edk2] [PATCH] ShellPkg\Application\Shell: Clean start row >> information after the console has been Reset or SetMode. >> Importance: High >> >> On 06/08/15 13:40, Qiu Shumin wrote: >>> OriginalStartRow and CurrentStartRow should be initialized after new mode >> is set. >>> >>> Contributed-under: TianoCore Contribution Agreement 1.0 >>> Signed-off-by: Qiu Shumin <shumin....@intel.com> >>> Signed-off-by: Eric Jin <eric....@intel.com> >>> --- >>> ShellPkg/Application/Shell/ConsoleLogger.c | 13 ++++++++++--- >>> 1 file changed, 10 insertions(+), 3 deletions(-) >>> >>> diff --git a/ShellPkg/Application/Shell/ConsoleLogger.c >> b/ShellPkg/Application/Shell/ConsoleLogger.c >>> index 75469d9..06f9686 100644 >>> --- a/ShellPkg/Application/Shell/ConsoleLogger.c >>> +++ b/ShellPkg/Application/Shell/ConsoleLogger.c >>> @@ -2,7 +2,7 @@ >>> Provides interface to shell console logger. >>> >>> (C) Copyright 2013 Hewlett-Packard Development Company, L.P.<BR> >>> - Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR> >>> + Copyright (c) 2009 - 2015, 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 >>> @@ -410,6 +410,10 @@ ConsoleLoggerReset ( >>> // >>> if (!EFI_ERROR (Status)) { >>> ConsoleLoggerResetBuffers(ConsoleInfo); >>> + if (ExtendedVerification == TRUE) { >>> + ConsoleInfo->OriginalStartRow = 0; >>> + ConsoleInfo->CurrentStartRow = 0; >>> + } >>> } >>> >>> return Status; >>> @@ -963,10 +967,13 @@ ConsoleLoggerSetMode ( >>> // Check that the buffers are still correct for logging >>> // >>> if (!EFI_ERROR (Status)) { >>> - ConsoleInfo->OurConOut.Mode = gST->ConOut->Mode; >>> + ConsoleInfo->OurConOut.Mode = ConsoleInfo->OldConOut->Mode; >>> ConsoleLoggerResetBuffers(ConsoleInfo); >>> + ConsoleInfo->OriginalStartRow = 0; >>> + ConsoleInfo->CurrentStartRow = 0; >>> + ConsoleInfo->OurConOut.ClearScreen (&ConsoleInfo->OurConOut); >>> } >>> - >>> + >>> return Status; >>> } >>> >>> >> >> I'm intrigued if this will make the random ASSERT()s go away that I >> recurrently see when scrolling up (Shift + PageUp) in the UEFI shell. >> Unfortunately, I have no reliable reproducer. > > Bad memory here. Is Shift+PageUp different from PageUp (no shift)?
Probably not: Shift+PageUp is likely just a habit of mine, from xterm. It happens to work in the UEFI shell too, so I never learned to press just PageUp in the UEFI shell. Thanks Laszlo ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel