From 49b48ed0b98efa1c006ebab51d729b74326ebc9b Mon Sep 17 00:00:00 2001
From: Todd Stinson <stinson@lindenlab.com>
Date: Tue, 22 May 2012 17:49:56 -0700
Subject: [PATCH] EXP1-1945: Adding in a flow to catch other cases of
 teleportation failures due to maturity levels and bad network access.  Still
 need better copy for the error message.

---
 indra/newview/llviewermessage.cpp                    | 12 ++++++++++++
 indra/newview/skins/default/xui/en/notifications.xml | 11 +++++++++++
 2 files changed, 23 insertions(+)

diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index be3357041a1..c68e86d7e93 100755
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -5533,6 +5533,12 @@ bool handle_special_notification(std::string notificationID, LLSD& llsdBlock)
 				returnValue = true;
 			}
 		}
+		else if (LLStringUtil::compareStrings(notificationID, "RegionEntryAccessBlocked") == 0)
+		{
+			gAgent.clearFailedTeleportRequest();
+			maturityLevelNotification = LLNotificationsUtil::add(notificationID+"_PreferencesOutOfSync", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_callback);
+			returnValue = true;
+		}
 	}
 	else if (regionAccess == SIM_ACCESS_ADULT)
 	{
@@ -5557,6 +5563,12 @@ bool handle_special_notification(std::string notificationID, LLSD& llsdBlock)
 				returnValue = true;
 			}
 		}
+		else if (LLStringUtil::compareStrings(notificationID, "RegionEntryAccessBlocked") == 0)
+		{
+			gAgent.clearFailedTeleportRequest();
+			maturityLevelNotification = LLNotificationsUtil::add(notificationID+"_PreferencesOutOfSync", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_callback);
+			returnValue = true;
+		}
 	}
 
 	if ((maturityLevelNotification == NULL) || maturityLevelNotification->isIgnored())
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index cd85f945f30..1c029827ed6 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -4143,6 +4143,17 @@ The region you're trying to visit contains [REGIONMATURITY] content, but your cu
     </form>
   </notification>
 
+  <notification
+   icon="alertmodal.tga"
+   name="RegionEntryAccessBlocked_PreferencesOutOfSync"
+   type="alertmodal">
+    <tag>fail</tag>
+    We are having technical difficulties with your teleport because your preferences are out of sync with the server.
+    <usetemplate
+     name="okbutton"
+     yestext="OK"/>
+  </notification>
+
   <notification
    icon="alertmodal.tga"
    name="PreferredMaturityChanged"
-- 
GitLab