]> code.delx.au - refind/commitdiff
Version with experimental graphics mode-setting feature.
authorsrs5694 <srs5694@users.sourceforge.net>
Fri, 14 Dec 2012 15:40:01 +0000 (10:40 -0500)
committersrs5694 <srs5694@users.sourceforge.net>
Fri, 14 Dec 2012 15:40:01 +0000 (10:40 -0500)
libeg/screen.c
refind/main.c

index 7ec46e2058d8af552e5ade1ef2fab05abd8f7034..3200ef92976685dffee41536ef596d05076f4881 100644 (file)
@@ -135,14 +135,20 @@ BOOLEAN egSetScreenSize(IN UINTN ScreenWidth, IN UINTN ScreenHeight) {
          SwitchToText(FALSE);
          Print(L"Error setting graphics mode %d x %d; using default mode!\nAvailable modes are:\n", ScreenWidth, ScreenHeight);
          ModeNum = 0;
-         Status = EFI_SUCCESS;
-         while (Status == EFI_SUCCESS) {
+         do {
             Status = refit_call4_wrapper(GraphicsOutput->QueryMode, GraphicsOutput, ModeNum, &Size, &Info);
-            if ((Status == EFI_SUCCESS) && (Size >= sizeof(*Info))) {
+            if (Status == EFI_SUCCESS) {
                Print(L"Mode %d: %d x %d\n", ModeNum, Info->HorizontalResolution, Info->VerticalResolution);
             } // else
-            ModeNum++;
-         } // while()
+         } while ((ModeNum++ < 10) || (Status == EFI_SUCCESS));
+//          Status = EFI_SUCCESS;
+//          while (Status == EFI_SUCCESS) {
+//             Status = refit_call4_wrapper(GraphicsOutput->QueryMode, GraphicsOutput, ModeNum, &Size, &Info);
+//             if ((Status == EFI_SUCCESS) && (Size >= sizeof(*Info))) {
+//                Print(L"Mode %d: %d x %d\n", ModeNum, Info->HorizontalResolution, Info->VerticalResolution);
+//             } // else
+//             ModeNum++;
+//          } // while()
          PauseForKey();
          SwitchToGraphics();
       } // if()
@@ -179,7 +185,6 @@ UINT32 egSetTextMode(UINT32 RequestedMode) {
    UINTN         i = 0, Width, Height;
    UINT32        UsedMode = ST->ConOut->Mode->Mode;
    EFI_STATUS    Status;
-   BOOLEAN       GoOn = TRUE;
 
    if (RequestedMode != ST->ConOut->Mode->Mode) {
       Status = refit_call2_wrapper(ST->ConOut->SetMode, ST->ConOut, RequestedMode);
@@ -188,14 +193,12 @@ UINT32 egSetTextMode(UINT32 RequestedMode) {
       } else {
          SwitchToText(FALSE);
          Print(L"Error setting text mode %d; available modes are:\n", ST->ConOut->Mode->Mode);
-         while (GoOn) {
+         do {
             Status = refit_call4_wrapper(ST->ConOut->QueryMode, ST->ConOut, i, &Width, &Height);
             if (Status == EFI_SUCCESS)
                Print(L"Mode: %d: %d x %d\n", i, Width, Height);
-            else if (i > 1)
-               GoOn = 0;
-            i++;
-         }
+         } while ((i++ < 2) || (Status == EFI_SUCCESS));
+
          PauseForKey();
          SwitchToGraphics();
       } // if/else successful change
index beab93130e17215857a37b33bfe48eff0225db3f..87d64ceb736380c9b775e4d09afda19dcd9bd462 100644 (file)
@@ -118,7 +118,7 @@ static VOID AboutrEFInd(VOID)
 
     if (AboutMenu.EntryCount == 0) {
         AboutMenu.TitleImage = BuiltinIcon(BUILTIN_ICON_FUNC_ABOUT);
-        AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.5.1.3");
+        AddMenuInfoLine(&AboutMenu, L"rEFInd Version 0.5.1.5");
         AddMenuInfoLine(&AboutMenu, L"");
         AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2006-2010 Christoph Pfisterer");
         AddMenuInfoLine(&AboutMenu, L"Copyright (c) 2012 Roderick W. Smith");