diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2018-02-21 16:11:30 +0100 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2018-02-21 16:11:30 +0100 |
| commit | 05e7cd5133826afd42d215e08c4874ee48ed49be (patch) | |
| tree | 2f449777278cc8b4805a4e80d7ee81b3863bc4a1 /src/GraphicObjects/Docker.cs | |
| parent | 30b49efa1763ebdfe82f9d69e0e7bafcdd3b25a8 (diff) | |
implement ReaderWritelLockSlim to resolve threading issues
Diffstat (limited to 'src/GraphicObjects/Docker.cs')
| -rw-r--r-- | src/GraphicObjects/Docker.cs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/GraphicObjects/Docker.cs b/src/GraphicObjects/Docker.cs index 3b66eb7e..c52c094f 100644 --- a/src/GraphicObjects/Docker.cs +++ b/src/GraphicObjects/Docker.cs @@ -146,14 +146,16 @@ namespace Crow gr.Clip (); } - lock (Children) { - foreach (GraphicObject g in Children) { - if (CurrentInterface.DragAndDropOperation?.DragSource == g) - continue; - g.Paint (ref gr); - } + childrenRWLock.EnterReadLock (); + + foreach (GraphicObject g in Children) { + if (CurrentInterface.DragAndDropOperation?.DragSource == g) + continue; + g.Paint (ref gr); } + childrenRWLock.ExitReadLock (); + if (showDockingTarget) { Rectangle r; if (mainStack == null) |