aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Common/SystemInterop
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Common/SystemInterop')
-rw-r--r--src/Ryujinx.Common/SystemInterop/DisplaySleep.cs6
-rw-r--r--src/Ryujinx.Common/SystemInterop/ForceDpiAware.cs8
-rw-r--r--src/Ryujinx.Common/SystemInterop/GdiPlusHelper.cs4
-rw-r--r--src/Ryujinx.Common/SystemInterop/StdErrAdapter.cs31
-rw-r--r--src/Ryujinx.Common/SystemInterop/WindowsMultimediaTimerResolution.cs4
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
+}