Author: hbelusca Date: Wed Dec 26 02:14:46 2012 New Revision: 58010
URL: http://svn.reactos.org/svn/reactos?rev=58010&view=rev Log: [FREELDR] Improve the way we are doing the timing: When the timeout is > 0, we refresh its display. When it becomes == 0, we exit the waiting-loop and do the right action (start the default OS, ...). However, when we press a key, it is set to -1 by convention, that means, no timeout. The timeout display is then cleared ONLY ONCE since there is no need to refresh it each time we do a waiting-loop-turn when the timeout is == -1.
Modified: trunk/reactos/boot/freeldr/freeldr/ui/directui.c trunk/reactos/boot/freeldr/freeldr/ui/tuimenu.c
Modified: trunk/reactos/boot/freeldr/freeldr/ui/directui.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/ui/dir... ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/ui/directui.c [iso-8859-1] (original) +++ trunk/reactos/boot/freeldr/freeldr/ui/directui.c [iso-8859-1] Wed Dec 26 02:14:46 2012 @@ -560,7 +560,7 @@ if (CanEscape && KeyPress == KEY_ESC) return FALSE;
/* Check if there is a countdown */ - if (MenuInformation.MenuTimeRemaining) + if (MenuInformation.MenuTimeRemaining > 0) { /* Get the updated time, seconds only */ CurrentClockSecond = ArcGetTime()->Second; @@ -576,7 +576,7 @@ UiDrawMenuBox(&MenuInformation); } } - else + else if (MenuInformation.MenuTimeRemaining == 0) { /* A time out occurred, exit this loop and return default OS */ break;
Modified: trunk/reactos/boot/freeldr/freeldr/ui/tuimenu.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/ui/tui... ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/ui/tuimenu.c [iso-8859-1] (original) +++ trunk/reactos/boot/freeldr/freeldr/ui/tuimenu.c [iso-8859-1] Wed Dec 26 02:14:46 2012 @@ -93,7 +93,7 @@ // // Check if there is a countdown // - if (MenuInformation.MenuTimeRemaining) + if (MenuInformation.MenuTimeRemaining > 0) { // // Get the updated time, seconds only @@ -118,7 +118,7 @@ VideoCopyOffScreenBufferToVRAM(); } } - else + else if (MenuInformation.MenuTimeRemaining == 0) { // // A time out occurred, exit this loop and return default OS