summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/app_settings/settings.xml4
-rw-r--r--indra/newview/llkeyconflict.cpp27
2 files changed, 19 insertions, 12 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 7cdb41b3cb..b1606a0f3c 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -3550,7 +3550,7 @@
<key>Value</key>
<integer>0</integer>
</map>
- <key>DoubleClickTeleport</key>
+ <key>DoubleClickTeleport</key>
<map>
<key>Comment</key>
<string>Enable double-click to teleport where allowed (afects minimap and people panel)</string>
@@ -3559,7 +3559,7 @@
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
- <integer>1</integer>
+ <integer>0</integer>
</map>
<key>DoubleClickShowWorldMap</key>
<map>
diff --git a/indra/newview/llkeyconflict.cpp b/indra/newview/llkeyconflict.cpp
index 4c055fcee6..8ee50d5c52 100644
--- a/indra/newview/llkeyconflict.cpp
+++ b/indra/newview/llkeyconflict.cpp
@@ -610,12 +610,6 @@ void LLKeyConflictHandler::saveToSettings(bool temporary)
}
}
- if (!temporary)
- {
- // will remove any temporary file if there were any
- clearUnsavedChanges();
- }
-
#if 1
// Legacy support
// Remove #if-#endif section half a year after DRTVWR-501 releases.
@@ -624,7 +618,7 @@ void LLKeyConflictHandler::saveToSettings(bool temporary)
// more than one mode.
// We are saving this even if we are in temporary mode - preferences
// will restore values on cancel
- if (mLoadMode == MODE_THIRD_PERSON)
+ if (mLoadMode == MODE_THIRD_PERSON && mHasUnsavedChanges)
{
bool value = canHandleMouse("walk_to", CLICK_DOUBLELEFT, MASK_NONE);
gSavedSettings.setBOOL("DoubleClickAutoPilot", value);
@@ -632,9 +626,6 @@ void LLKeyConflictHandler::saveToSettings(bool temporary)
value = canHandleMouse("walk_to", CLICK_LEFT, MASK_NONE);
gSavedSettings.setBOOL("ClickToWalk", value);
- value = canHandleMouse("teleport_to", CLICK_DOUBLELEFT, MASK_NONE);
- gSavedSettings.setBOOL("DoubleClickTeleport", value);
-
// new method can save both toggle and push-to-talk values simultaneously,
// but legacy one can save only one. It also doesn't support mask.
LLKeyData data = getControl("toggle_voice", 0);
@@ -680,6 +671,22 @@ void LLKeyConflictHandler::saveToSettings(bool temporary)
}
}
#endif
+
+ if (mLoadMode == MODE_THIRD_PERSON && mHasUnsavedChanges)
+ {
+ // Map floater should react to doubleclick if doubleclick for teleport is set
+ // Todo: Seems conterintuitive for map floater to share inworld controls
+ // after these changes release, discuss with UI UX engineer if this should just
+ // be set to 1 by default (before release this also doubles as legacy support)
+ bool value = canHandleMouse("teleport_to", CLICK_DOUBLELEFT, MASK_NONE);
+ gSavedSettings.setBOOL("DoubleClickTeleport", value);
+ }
+
+ if (!temporary)
+ {
+ // will remove any temporary file if there were any
+ clearUnsavedChanges();
+ }
}
LLKeyData LLKeyConflictHandler::getDefaultControl(const std::string &control_name, U32 index)