diff options
Diffstat (limited to 'src/Ryujinx.Common/SystemInterop')
5 files changed, 24 insertions, 29 deletions
diff --git a/src/Ryujinx.Common/SystemInterop/DisplaySleep.cs b/src/Ryujinx.Common/SystemInterop/DisplaySleep.cs index 5a1f66f5..4dff5410 100644 --- a/src/Ryujinx.Common/SystemInterop/DisplaySleep.cs +++ b/src/Ryujinx.Common/SystemInterop/DisplaySleep.cs @@ -10,7 +10,7 @@ namespace Ryujinx.Common.SystemInterop { ES_CONTINUOUS = 0x80000000, ES_DISPLAY_REQUIRED = 0x00000002, - ES_SYSTEM_REQUIRED = 0x00000001 + ES_SYSTEM_REQUIRED = 0x00000001, } [LibraryImport("kernel32.dll", SetLastError = true)] @@ -23,12 +23,12 @@ namespace Ryujinx.Common.SystemInterop SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS | EXECUTION_STATE.ES_SYSTEM_REQUIRED | EXECUTION_STATE.ES_DISPLAY_REQUIRED); } } - + static public void Restore() { if (OperatingSystem.IsWindows()) { - SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS); + SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS); } } } diff --git a/src/Ryujinx.Common/SystemInterop/ForceDpiAware.cs b/src/Ryujinx.Common/SystemInterop/ForceDpiAware.cs index f17612a6..5fa2281d 100644 --- a/src/Ryujinx.Common/SystemInterop/ForceDpiAware.cs +++ b/src/Ryujinx.Common/SystemInterop/ForceDpiAware.cs @@ -29,7 +29,7 @@ namespace Ryujinx.Common.SystemInterop private static partial int XCloseDisplay(IntPtr display); private static readonly double _standardDpiScale = 96.0; - private static readonly double _maxScaleFactor = 1.25; + private static readonly double _maxScaleFactor = 1.25; /// <summary> /// Marks the application as DPI-Aware when running on the Windows operating system. @@ -63,14 +63,14 @@ namespace Ryujinx.Common.SystemInterop string dpiString = Marshal.PtrToStringAnsi(XGetDefault(display, "Xft", "dpi")); if (dpiString == null || !double.TryParse(dpiString, NumberStyles.Any, CultureInfo.InvariantCulture, out userDpiScale)) { - userDpiScale = (double)XDisplayWidth(display, 0) * 25.4 / (double)XDisplayWidthMM(display, 0); + userDpiScale = XDisplayWidth(display, 0) * 25.4 / XDisplayWidthMM(display, 0); } - XCloseDisplay(display); + _ = XCloseDisplay(display); } else if (xdgSessionType == "wayland") { // TODO - Logger.Warning?.Print(LogClass.Application, $"Couldn't determine monitor DPI: Wayland not yet supported"); + Logger.Warning?.Print(LogClass.Application, "Couldn't determine monitor DPI: Wayland not yet supported"); } else { diff --git a/src/Ryujinx.Common/SystemInterop/GdiPlusHelper.cs b/src/Ryujinx.Common/SystemInterop/GdiPlusHelper.cs index 1001424d..bedf56ea 100644 --- a/src/Ryujinx.Common/SystemInterop/GdiPlusHelper.cs +++ b/src/Ryujinx.Common/SystemInterop/GdiPlusHelper.cs @@ -28,14 +28,14 @@ namespace Ryujinx.Common.SystemInterop { public int GdiplusVersion; -#pragma warning disable CS0649 +#pragma warning disable CS0649 // Field is never assigned to public IntPtr DebugEventCallback; public int SuppressBackgroundThread; public int SuppressExternalCodecs; public int StartupParameters; #pragma warning restore CS0649 - public static StartupInputEx Default => new StartupInputEx + public static StartupInputEx Default => new() { // We assume Windows 8 and upper GdiplusVersion = 2, diff --git a/src/Ryujinx.Common/SystemInterop/StdErrAdapter.cs b/src/Ryujinx.Common/SystemInterop/StdErrAdapter.cs index 4802178e..a04c404d 100644 --- a/src/Ryujinx.Common/SystemInterop/StdErrAdapter.cs +++ b/src/Ryujinx.Common/SystemInterop/StdErrAdapter.cs @@ -11,7 +11,7 @@ namespace Ryujinx.Common.SystemInterop { public partial class StdErrAdapter : IDisposable { - private bool _disposable = false; + private bool _disposable; private Stream _pipeReader; private Stream _pipeWriter; private CancellationTokenSource _cancellationTokenSource; @@ -41,7 +41,7 @@ namespace Ryujinx.Common.SystemInterop _worker = Task.Run(async () => await EventWorkerAsync(_cancellationTokenSource.Token), _cancellationTokenSource.Token); _disposable = true; } - + [SupportedOSPlatform("linux")] [SupportedOSPlatform("macos")] private async Task EventWorkerAsync(CancellationToken cancellationToken) @@ -53,13 +53,15 @@ namespace Ryujinx.Common.SystemInterop Logger.Error?.PrintRawMsg(line); } } - - private void Dispose(bool disposing) + + public void Dispose() { + GC.SuppressFinalize(this); + if (_disposable) { _disposable = false; - + if (OperatingSystem.IsLinux() || OperatingSystem.IsMacOS()) { _cancellationTokenSource.Cancel(); @@ -70,11 +72,6 @@ namespace Ryujinx.Common.SystemInterop } } - public void Dispose() - { - Dispose(true); - } - [LibraryImport("libc", SetLastError = true)] private static partial int dup2(int fd, int fd2); @@ -83,27 +80,25 @@ namespace Ryujinx.Common.SystemInterop private static (int, int) MakePipe() { - Span<int> pipefd = stackalloc int[2]; + Span<int> pipefd = stackalloc int[2]; if (pipe(pipefd) == 0) { return (pipefd[0], pipefd[1]); } - else - { - throw new(); - } + + throw new(); } - + [SupportedOSPlatform("linux")] [SupportedOSPlatform("macos")] private static Stream CreateFileDescriptorStream(int fd) { return new FileStream( - new SafeFileHandle((IntPtr)fd, ownsHandle: true), + new SafeFileHandle(fd, ownsHandle: true), FileAccess.ReadWrite ); } - + } } diff --git a/src/Ryujinx.Common/SystemInterop/WindowsMultimediaTimerResolution.cs b/src/Ryujinx.Common/SystemInterop/WindowsMultimediaTimerResolution.cs index a4fbf0bd..88acadd5 100644 --- a/src/Ryujinx.Common/SystemInterop/WindowsMultimediaTimerResolution.cs +++ b/src/Ryujinx.Common/SystemInterop/WindowsMultimediaTimerResolution.cs @@ -17,7 +17,7 @@ namespace Ryujinx.Common.SystemInterop { public uint wPeriodMin; public uint wPeriodMax; - }; + } [LibraryImport("winmm.dll", EntryPoint = "timeGetDevCaps", SetLastError = true)] private static partial uint TimeGetDevCaps(ref TimeCaps timeCaps, uint sizeTimeCaps); @@ -111,4 +111,4 @@ namespace Ryujinx.Common.SystemInterop } } } -}
\ No newline at end of file +} |
