From eb528ae0f05f057e671eb9e92f44f1caa9bcc84b Mon Sep 17 00:00:00 2001
From: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
Date: Mon, 24 Jul 2023 18:35:04 +0200
Subject: Add workflow to automatically check code style issues for PRs (#4670)

* Add workflow to perform automated checks for PRs

* Downgrade Microsoft.CodeAnalysis to 4.4.0

This is a workaround to fix issues with dotnet-format.
See:
- https://github.com/dotnet/format/issues/1805
- https://github.com/dotnet/format/issues/1800

* Adjust editorconfig to be more compatible with Ryujinx code-style

* Adjust .editorconfig line endings to match .gitattributes

* Disable 'prefer switch expression' rule

* Remove naming styles

These are the default rules, so we don't need to override them.

* Silence IDE0060 in .editorconfig

* Slightly adjust .editorconfig

* Add lost workflow changes

* Move .editorconfig comment to the top

* .editorconfig: private static readonly fields should be _lowerCamelCase

* .editorconfig: Remove alignment for declarations as well

* editorconfig: Add rule for local constants

* Disable CA1822 for HLE services

* Disable CA1822 for ViewModels

Bindings won't work with static members, but this issue is silently ignored.

* Run dotnet format for the whole solution

* Check result code of SDL_GetDisplayBounds

* Fix dotnet format style issues

* Add missing trailing commas

* Update Microsoft.CodeAnalysis.CSharp to 4.6.0

Skipping 4.5.0 since it breaks dotnet format

* Restore old default naming rules for dotnet format

* Add naming rule exception for CPU tests

* checks: Include all files before excluding paths

* Fix dotnet format issues

* Check dotnet format version

* checks: Run dotnet format with severity info again

* checks: Disable naming style rules until they won't crash the process anymore

* Remove unread private member

* checks: Attempt to run analyzers 3 times before giving up

* checks: Enable naming style rules again with the new retry logic
---
 src/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

(limited to 'src/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs')

diff --git a/src/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs b/src/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs
index 355dcf6c..a2b26bbc 100644
--- a/src/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs
+++ b/src/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs
@@ -155,13 +155,18 @@ namespace Ryujinx.Headless.SDL2.OpenGL
             {
                 // NOTE: grabbing the main display's dimensions directly as OpenGL doesn't scale along like the VulkanWindow.
                 // we might have to amend this if people run this on a non-primary display set to a different resolution.
-                SDL_Rect displayBounds;
-                SDL_GetDisplayBounds(0, out displayBounds);
+                if (SDL_GetDisplayBounds(0, out SDL_Rect displayBounds) < 0)
+                {
+                    Logger.Warning?.Print(LogClass.Application, $"Could not retrieve display bounds: {SDL_GetError()}");
+
+                    // Fallback to defaults
+                    displayBounds.w = DefaultWidth;
+                    displayBounds.h = DefaultHeight;
+                }
 
                 Renderer?.Window.SetSize(displayBounds.w, displayBounds.h);
                 MouseDriver.SetClientSize(displayBounds.w, displayBounds.h);
             }
-
             else
             {
                 Renderer?.Window.SetSize(DefaultWidth, DefaultHeight);
-- 
cgit v1.2.3-70-g09d2