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

Reply via email to