>-----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)? -Jaben > >Thanks >Laszlo > >------------------------------------------------------------------------------ >_______________________________________________ >edk2-devel mailing list >edk2-devel@lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel