]> code.delx.au - refind/blobdiff - refind/screen.c
"resolution" option now takes either x & y resolution or a UEFI mode
[refind] / refind / screen.c
index 6aa04bedc86d0a3418445cfb8e98866c9633e969..dc1f21d987bb421ba6d3b115d79cb2945c20778c 100644 (file)
@@ -115,8 +115,8 @@ VOID SetupScreen(VOID)
 {
     GlobalConfig.RequestedTextMode = egSetTextMode(GlobalConfig.RequestedTextMode);
 
-    if ((GlobalConfig.RequestedScreenWidth > 0) && (GlobalConfig.RequestedScreenHeight > 0) &&
-        egSetScreenSize(GlobalConfig.RequestedScreenWidth, GlobalConfig.RequestedScreenHeight)) {
+    if ((GlobalConfig.RequestedScreenWidth > 0) &&
+        (egSetScreenSize(&GlobalConfig.RequestedScreenWidth, &GlobalConfig.RequestedScreenHeight))) {
           UGAWidth = GlobalConfig.RequestedScreenWidth;
           UGAHeight = GlobalConfig.RequestedScreenHeight;
     } // if user requested a particular screen resolution
@@ -206,6 +206,9 @@ VOID BeginExternalScreen(IN BOOLEAN UseGraphicsMode, IN CHAR16 *Title)
 
 VOID FinishExternalScreen(VOID)
 {
+    // Reset the screen resolution, in case external program changed it....
+    SetupScreen();
+
     // make sure we clean up later
     GraphicsScreenDirty = TRUE;