* Adds a new ForEach(KeyValuePair<TKey,TValue>) method to InternalDictionary
* Removing SafeAdd/SafeRemove from InternalDictionary and adding locks to normal Add/Remove. Also added locks to the [] operator and removed unnecessary locks from ContainsKey/ContainsValue
* Fixed rampant locking inconsistencies in FriendsManager. Rule of thumb: let InternalDictionary handle the locking for you
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2692 52acb1d6-8a22-11de-b505-999d5b087335
* Implemented LoginPanel component in Dashboard example
* Fixed and added more sanity checking on window handles
* Fixed gender detection showing some women as men
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2569 52acb1d6-8a22-11de-b505-999d5b087335
* Changed simulator.AvatarPositions from Dictionary to InternalDictionary
* Resolves LIBOMV-450 by removing simulator.PositionIndexYou and .PositionIndexPrey in favor of Client.Self.AgentID and simulator.PreyID for indexing AvatarPositions
[InternalDictionary.cs]
* Added lock to .TryGetValue
* Added .FindAll overload for using a key as the predicate instead of value
[OpenMetaverse.GUI]
* Visual and functional enhancements to Minimap and AvatarList (takes advantage of new AvatarPositions code)
* Added failed login retry dialog to Dashboard
* Added more documentation to public classes
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2549 52acb1d6-8a22-11de-b505-999d5b087335