diff --git a/VpSharp/src/Internal/Connection.cs b/VpSharp/src/Internal/Connection.cs index 67dd1ab..4dafb55 100644 --- a/VpSharp/src/Internal/Connection.cs +++ b/VpSharp/src/Internal/Connection.cs @@ -11,7 +11,7 @@ internal sealed class Connection : IDisposable private byte[] _pendingBuffer; private readonly List _readyBuffers = new(); - private Timer _timer; + private Timer? _timer; private nint _vpConnection; public Connection(nint vpConnection, object lockObject) @@ -65,8 +65,8 @@ internal sealed class Connection : IDisposable { GCHandle handle = GCHandle.FromIntPtr(ptr); var connection = handle.Target as Connection; - string host = Marshal.PtrToStringAnsi(hostPtr); - if (connection is not null) + string? host = Marshal.PtrToStringAnsi(hostPtr); + if (connection is not null && host is not null) { return connection.Connect(host, port); } diff --git a/VpSharp/src/VirtualParadiseClient.NativeCallbacks.cs b/VpSharp/src/VirtualParadiseClient.NativeCallbacks.cs index f9d2848..a722040 100644 --- a/VpSharp/src/VirtualParadiseClient.NativeCallbacks.cs +++ b/VpSharp/src/VirtualParadiseClient.NativeCallbacks.cs @@ -45,7 +45,7 @@ public sealed partial class VirtualParadiseClient return; } - VirtualParadiseObject virtualParadiseObject = reason == ReasonCode.Success ? await ExtractObjectAsync(sender) : null; + VirtualParadiseObject? virtualParadiseObject = reason == ReasonCode.Success ? await ExtractObjectAsync(sender).ConfigureAwait(true) : null; taskCompletionSource.SetResult((reason, virtualParadiseObject)); } diff --git a/VpSharp/src/VirtualParadiseClient.NativeEvents.cs b/VpSharp/src/VirtualParadiseClient.NativeEvents.cs index ed7a97a..55aa7e8 100644 --- a/VpSharp/src/VirtualParadiseClient.NativeEvents.cs +++ b/VpSharp/src/VirtualParadiseClient.NativeEvents.cs @@ -244,7 +244,7 @@ public sealed partial class VirtualParadiseClient virtualParadiseObject = null; } - _objects.TryRemove(objectId, out VirtualParadiseObject? _); + _objects.TryRemove(objectId, out VirtualParadiseObject _); var args = new ObjectDeletedEventArgs(avatar!, objectId, virtualParadiseObject!); RaiseEvent(ObjectDeleted, args); diff --git a/VpSharp/src/VirtualParadiseClient.Objects.cs b/VpSharp/src/VirtualParadiseClient.Objects.cs index 4ca02a6..7734cf2 100644 --- a/VpSharp/src/VirtualParadiseClient.Objects.cs +++ b/VpSharp/src/VirtualParadiseClient.Objects.cs @@ -98,7 +98,7 @@ public sealed partial class VirtualParadiseClient ReasonCode reason; if (!_objectCompletionSources.TryGetValue(id, - out TaskCompletionSource<(ReasonCode, VirtualParadiseObject?)>? taskCompletionSource)) + out TaskCompletionSource<(ReasonCode, VirtualParadiseObject)>? taskCompletionSource)) { taskCompletionSource = new TaskCompletionSource<(ReasonCode, VirtualParadiseObject?)>(); _objectCompletionSources.TryAdd(id, taskCompletionSource);