aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/ViewerSupport/DynamicFloaterModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/OptionalModules/ViewerSupport/DynamicFloaterModule.cs')
-rw-r--r--OpenSim/Region/OptionalModules/ViewerSupport/DynamicFloaterModule.cs5
1 files changed, 4 insertions, 1 deletions
diff --git a/OpenSim/Region/OptionalModules/ViewerSupport/DynamicFloaterModule.cs b/OpenSim/Region/OptionalModules/ViewerSupport/DynamicFloaterModule.cs
index 4524a05..e76e8f2 100644
--- a/OpenSim/Region/OptionalModules/ViewerSupport/DynamicFloaterModule.cs
+++ b/OpenSim/Region/OptionalModules/ViewerSupport/DynamicFloaterModule.cs
@@ -122,6 +122,9 @@ namespace OpenSim.Region.OptionalModules.ViewerSupport
122 if (!m_floaters.ContainsKey(agentID)) 122 if (!m_floaters.ContainsKey(agentID))
123 m_floaters[agentID] = new Dictionary<int, FloaterData>(); 123 m_floaters[agentID] = new Dictionary<int, FloaterData>();
124 124
125 if (m_floaters[agentID].ContainsKey(dialogData.Channel))
126 return;
127
125 m_floaters[agentID].Add(dialogData.Channel, dialogData); 128 m_floaters[agentID].Add(dialogData.Channel, dialogData);
126 129
127 string xml; 130 string xml;
@@ -218,7 +221,7 @@ namespace OpenSim.Region.OptionalModules.ViewerSupport
218 } 221 }
219 } 222 }
220 223
221 if (data.Handler(client, data, parts)) 224 if (data.Handler != null && data.Handler(client, data, parts))
222 { 225 {
223 m_floaters[client.AgentId].Remove(data.Channel); 226 m_floaters[client.AgentId].Remove(data.Channel);
224 SendToClient(sp, String.Format("># floater {0} destroy", data.FloaterName)); 227 SendToClient(sp, String.Format("># floater {0} destroy", data.FloaterName));