diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar/InstantMessage')
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs index e0c404b..4de197e 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs | |||
@@ -187,12 +187,16 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
187 | // Is the user a local user? | 187 | // Is the user a local user? |
188 | UserAccount account = m_Scenes[0].UserAccountService.GetUserAccount(m_Scenes[0].RegionInfo.ScopeID, toAgentID); | 188 | UserAccount account = m_Scenes[0].UserAccountService.GetUserAccount(m_Scenes[0].RegionInfo.ScopeID, toAgentID); |
189 | string url = string.Empty; | 189 | string url = string.Empty; |
190 | bool foreigner = false; | ||
190 | if (account == null) // foreign user | 191 | if (account == null) // foreign user |
192 | { | ||
191 | url = UserManagementModule.GetUserServerURL(toAgentID, "IMServerURI"); | 193 | url = UserManagementModule.GetUserServerURL(toAgentID, "IMServerURI"); |
194 | foreigner = true; | ||
195 | } | ||
192 | 196 | ||
193 | Util.FireAndForget(delegate | 197 | Util.FireAndForget(delegate |
194 | { | 198 | { |
195 | bool success = m_IMService.OutgoingInstantMessage(im, url); | 199 | bool success = m_IMService.OutgoingInstantMessage(im, url, foreigner); |
196 | if (!success && account == null) | 200 | if (!success && account == null) |
197 | { | 201 | { |
198 | // One last chance | 202 | // One last chance |
@@ -203,7 +207,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
203 | UUID id; string u = string.Empty, first = string.Empty, last = string.Empty, secret = string.Empty; | 207 | UUID id; string u = string.Empty, first = string.Empty, last = string.Empty, secret = string.Empty; |
204 | if (Util.ParseUniversalUserIdentifier(recipientUUI, out id, out u, out first, out last, out secret)) | 208 | if (Util.ParseUniversalUserIdentifier(recipientUUI, out id, out u, out first, out last, out secret)) |
205 | { | 209 | { |
206 | success = m_IMService.OutgoingInstantMessage(im, u); | 210 | success = m_IMService.OutgoingInstantMessage(im, u, true); |
207 | if (success) | 211 | if (success) |
208 | UserManagementModule.AddUser(toAgentID, u + ";" + first + " " + last); | 212 | UserManagementModule.AddUser(toAgentID, u + ";" + first + " " + last); |
209 | } | 213 | } |