OSDN Git Service

Only one Refresh at a time for FriendsConsole
authorDouglas R. Miles <logicmoo@gmail.com>
Tue, 6 Oct 2009 22:16:51 +0000 (22:16 +0000)
committerDouglas R. Miles <logicmoo@gmail.com>
Tue, 6 Oct 2009 22:16:51 +0000 (22:16 +0000)
git-svn-id: https://radegast.googlecode.com/svn/trunk@317 f7a694da-4d33-11de-9ad6-1127a62b9fcd

Radegast/GUI/Consoles/FriendsConsole.cs

index 13543e0..60e7246 100644 (file)
@@ -46,6 +46,7 @@ namespace Radegast
 \r
         private bool settingFriend = false;\r
         private bool showNotifications;\r
+        readonly object lockOneAtaTime = new object();\r
 \r
         public FriendsConsole(RadegastInstance instance)\r
         {\r
@@ -79,6 +80,7 @@ namespace Radegast
 \r
         private void InitializeFriendsList()\r
         {\r
+            if (!Monitor.TryEnter(lockOneAtaTime)) return;\r
             List<FriendInfo> friends = client.Friends.FriendList.FindAll(delegate(FriendInfo f) { return true; });\r
 \r
             lbxFriends.BeginUpdate();\r
@@ -89,6 +91,7 @@ namespace Radegast
             }\r
             lbxFriends.PerformSort();\r
             lbxFriends.EndUpdate();\r
+            Monitor.Exit(lockOneAtaTime);\r
         }\r
 \r
         private void RefreshFriendsList()\r