diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs index dee86df..7753c25 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs | |||
@@ -196,10 +196,9 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
196 | 196 | ||
197 | Util.FireAndForget(delegate | 197 | Util.FireAndForget(delegate |
198 | { | 198 | { |
199 | bool success = m_IMService.OutgoingInstantMessage(im, url, foreigner); | 199 | bool success = false; |
200 | if (!success && account == null) | 200 | if (foreigner && url == string.Empty) // we don't know about this user |
201 | { | 201 | { |
202 | // One last chance | ||
203 | string recipientUUI = TryGetRecipientUUI(new UUID(im.fromAgentID), toAgentID); | 202 | string recipientUUI = TryGetRecipientUUI(new UUID(im.fromAgentID), toAgentID); |
204 | m_log.DebugFormat("[HG MESSAGE TRANSFER]: Got UUI {0}", recipientUUI); | 203 | m_log.DebugFormat("[HG MESSAGE TRANSFER]: Got UUI {0}", recipientUUI); |
205 | if (recipientUUI != string.Empty) | 204 | if (recipientUUI != string.Empty) |
@@ -213,6 +212,9 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
213 | } | 212 | } |
214 | } | 213 | } |
215 | } | 214 | } |
215 | else | ||
216 | success = m_IMService.OutgoingInstantMessage(im, url, foreigner); | ||
217 | |||
216 | if (!success && !foreigner) | 218 | if (!success && !foreigner) |
217 | HandleUndeliveredMessage(im, result); | 219 | HandleUndeliveredMessage(im, result); |
218 | else | 220 | else |