diff options
Diffstat (limited to 'OpenSim/Region/OptionalModules/ViewerSupport/DynamicFloaterModule.cs')
-rw-r--r-- | OpenSim/Region/OptionalModules/ViewerSupport/DynamicFloaterModule.cs | 5 |
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)); |