Skip to content

Commit 104d021

Browse files
blackspherefollowerqdot
authored andcommitted
Correcting the client's use of SynchronizationContext
If no SynchronizationContext is initialised, the client creates a new one for its internal use, otherwise it inherrits the existing one. Fixes #328
1 parent db74473 commit 104d021

2 files changed

Lines changed: 1 addition & 4 deletions

File tree

Buttplug.Client.Test/ButtPlugClientTests.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ public ButtplugServer GetServer()
4141
[OneTimeSetUp]
4242
public void OneTimeSetUp()
4343
{
44-
SynchronizationContext.SetSynchronizationContext(new SynchronizationContext());
4544
_logMgr = new ButtplugLogManager();
4645
_devMgr = new DeviceManager(new ButtplugLogManager());
4746
_subtypeMgr = new TestDeviceSubtypeManager();

Buttplug.Client/ButtplugWSClient.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
using System;
22
using System.Collections.Concurrent;
33
using System.Collections.Generic;
4-
using System.Text;
54
using System.Threading;
65
using System.Threading.Tasks;
76
using Buttplug.Core;
87
using Buttplug.Core.Messages;
98
using JetBrains.Annotations;
10-
using SuperSocket.ClientEngine;
119
using WebSocket4Net;
1210
using static Buttplug.Client.DeviceEventArgs;
1311

@@ -97,7 +95,7 @@ public ButtplugWSClient(string aClientName)
9795
_bpLogger = _bpLogManager.GetLogger(GetType());
9896
_parser = new ButtplugJsonMessageParser(_bpLogManager);
9997
_bpLogger.Info("Finished setting up ButtplugClient");
100-
_owningDispatcher = SynchronizationContext.Current;
98+
_owningDispatcher = SynchronizationContext.Current ?? new SynchronizationContext();
10199
_tokenSource = new CancellationTokenSource();
102100
}
103101

0 commit comments

Comments
 (0)