From 0a1147df9d79535f7f6178dd387447d96c150640 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Sun, 26 Jan 2020 01:18:53 +0100 Subject: [PATCH] made graphics extensions not cause an exception --- MLEM/Extensions/GraphicsExtensions.cs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/MLEM/Extensions/GraphicsExtensions.cs b/MLEM/Extensions/GraphicsExtensions.cs index a84e01a..4901c11 100644 --- a/MLEM/Extensions/GraphicsExtensions.cs +++ b/MLEM/Extensions/GraphicsExtensions.cs @@ -9,18 +9,17 @@ namespace MLEM.Extensions { private static int lastHeight; public static void SetFullscreen(this GraphicsDeviceManager manager, bool fullscreen) { + if (fullscreen || lastWidth == 0 || lastHeight == 0) { + var view = manager.GraphicsDevice.Viewport; + lastWidth = view.Width; + lastHeight = view.Height; + } manager.IsFullScreen = fullscreen; if (fullscreen) { - lastWidth = manager.GraphicsDevice.Viewport.Width; - lastHeight = manager.GraphicsDevice.Viewport.Height; - var curr = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode; manager.PreferredBackBufferWidth = curr.Width; manager.PreferredBackBufferHeight = curr.Height; } else { - if (lastWidth <= 0 || lastHeight <= 0) - throw new InvalidOperationException("Can't call SetFullscreen to change out of fullscreen mode without going into fullscreen mode first"); - manager.PreferredBackBufferWidth = lastWidth; manager.PreferredBackBufferHeight = lastHeight; }