aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Interfaces/IDynamicFloaterModule.cs2
-rw-r--r--OpenSim/Region/OptionalModules/ViewerSupport/DynamicFloaterModule.cs5
2 files changed, 5 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/IDynamicFloaterModule.cs b/OpenSim/Region/Framework/Interfaces/IDynamicFloaterModule.cs
index 65c42ff..7684ce3 100644
--- a/OpenSim/Region/Framework/Interfaces/IDynamicFloaterModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/IDynamicFloaterModule.cs
@@ -37,7 +37,7 @@ namespace OpenSim.Region.Framework.Interfaces
37 public abstract class FloaterData 37 public abstract class FloaterData
38 { 38 {
39 public abstract int Channel { get; } 39 public abstract int Channel { get; }
40 public abstract string FloaterName { get; } 40 public abstract string FloaterName { get; set; }
41 public virtual string XmlName { get; set; } 41 public virtual string XmlName { get; set; }
42 public virtual string XmlText { get; set; } 42 public virtual string XmlText { get; set; }
43 public virtual HandlerDelegate Handler { get; set; } 43 public virtual HandlerDelegate Handler { get; set; }
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));