avoid a bad choice of lock objects

This commit is contained in:
Matthias Mailänder
2015-06-07 15:21:17 +02:00
parent 5c734b7031
commit fb4b306553

View File

@@ -31,7 +31,8 @@ namespace OpenRA.Mods.Common.Widgets
bool isMoving; bool isMoving;
bool update; bool update;
object syncWorker = new object(); readonly object syncWorker = new object();
readonly object bufferSync = new object();
Thread workerThread; Thread workerThread;
bool workerAlive; bool workerAlive;
@@ -111,7 +112,7 @@ namespace OpenRA.Mods.Common.Widgets
} }
} }
lock (front) lock (bufferSync)
{ {
var swap = front; var swap = front;
front = back; front = back;
@@ -123,7 +124,7 @@ namespace OpenRA.Mods.Common.Widgets
public override void Draw() public override void Draw()
{ {
if (Monitor.TryEnter(front)) if (Monitor.TryEnter(bufferSync))
{ {
try try
{ {
@@ -131,7 +132,7 @@ namespace OpenRA.Mods.Common.Widgets
} }
finally finally
{ {
Monitor.Exit(front); Monitor.Exit(bufferSync);
} }
} }