summaryrefslogtreecommitdiff
path: root/indra/newview/llappviewer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llappviewer.cpp')
-rw-r--r--indra/newview/llappviewer.cpp122
1 files changed, 8 insertions, 114 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index b36012e221..254bf05d05 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -1733,12 +1733,14 @@ bool LLAppViewer::cleanup()
// one because it happens just after mFastTimerLogThread is deleted. This
// comment is in case we guessed wrong, so we can move it here instead.
+#if LL_LINUX
// remove any old breakpad minidump files from the log directory
if (! isError())
{
std::string logdir = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "");
gDirUtilp->deleteFilesInDir(logdir, "*-*-*-*-*.dmp");
}
+#endif
// Kill off LLLeap objects. We can find them all because LLLeap is derived
// from LLInstanceTracker.
@@ -1819,6 +1821,8 @@ bool LLAppViewer::cleanup()
if (gAudiop)
{
+ LL_INFOS() << "Shutting down audio" << LL_ENDL;
+
// be sure to stop the internet stream cleanly BEFORE destroying the interface to stop it.
gAudiop->stopInternetStream();
// shut down the streaming audio sub-subsystem first, in case it relies on not outliving the general audio subsystem.
@@ -4292,120 +4296,6 @@ void LLAppViewer::addOnIdleCallback(const boost::function<void()>& cb)
void LLAppViewer::loadKeyBindings()
{
std::string key_bindings_file = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "key_bindings.xml");
-#if 1
- // Legacy support
- // Remove #if-#endif section half a year after DRTVWR-501 releases.
- // Mouse actions are part of keybinding file since DRTVWR-501 instead of being stored in
- // settings.xml. To support legacy viewers that were storing in settings.xml we need to
- // transfer old variables to new format.
- // Also part of backward compatibility is present in LLKeyConflictHandler to modify
- // legacy variables on changes in new system (to make sure we won't enforce
- // legacy values again if user dropped to defaults in new system)
- if (LLVersionInfo::getInstance()->getChannelAndVersion() != gLastRunVersion
- || !gDirUtilp->fileExists(key_bindings_file)) // if file is missing, assume that there were no changes by user yet
- {
- // copy mouse actions and voice key changes to new file
- LL_INFOS("InitInfo") << "Converting legacy mouse bindings to new format" << LL_ENDL;
- // Load settings from file
- LLKeyConflictHandler third_person_view(LLKeyConflictHandler::MODE_THIRD_PERSON);
- LLKeyConflictHandler sitting_view(LLKeyConflictHandler::MODE_SITTING);
-
- // Since we are only modifying keybindings if personal file doesn't exist yet,
- // it should be safe to just overwrite the value
- // If key is already in use somewhere by default, LLKeyConflictHandler should resolve it.
- BOOL value = gSavedSettings.getBOOL("DoubleClickAutoPilot");
- third_person_view.registerControl("walk_to",
- 0,
- value ? EMouseClickType::CLICK_DOUBLELEFT : EMouseClickType::CLICK_NONE,
- KEY_NONE,
- MASK_NONE,
- value);
-
- U32 index = value ? 1 : 0; // we can store multiple combinations per action, so if first is in use by doubleclick, go to second
- value = gSavedSettings.getBOOL("ClickToWalk");
- third_person_view.registerControl("walk_to",
- index,
- value ? EMouseClickType::CLICK_LEFT : EMouseClickType::CLICK_NONE,
- KEY_NONE,
- MASK_NONE,
- value);
-
- value = gSavedSettings.getBOOL("DoubleClickTeleport");
- third_person_view.registerControl("teleport_to",
- 0,
- value ? EMouseClickType::CLICK_DOUBLELEFT : EMouseClickType::CLICK_NONE,
- KEY_NONE,
- MASK_NONE,
- value);
-
- // sitting also supports teleport
- sitting_view.registerControl("teleport_to",
- 0,
- value ? EMouseClickType::CLICK_DOUBLELEFT : EMouseClickType::CLICK_NONE,
- KEY_NONE,
- MASK_NONE,
- value);
-
- std::string key_string = gSavedSettings.getString("PushToTalkButton");
- EMouseClickType mouse = EMouseClickType::CLICK_NONE;
- KEY key = KEY_NONE;
- if (key_string == "MiddleMouse")
- {
- mouse = EMouseClickType::CLICK_MIDDLE;
- }
- else if (key_string == "MouseButton4")
- {
- mouse = EMouseClickType::CLICK_BUTTON4;
- }
- else if (key_string == "MouseButton5")
- {
- mouse = EMouseClickType::CLICK_BUTTON5;
- }
- else
- {
- LLKeyboard::keyFromString(key_string, &key);
- }
-
- value = gSavedSettings.getBOOL("PushToTalkToggle");
- std::string control_name = value ? "toggle_voice" : "voice_follow_key";
- third_person_view.registerControl(control_name, 0, mouse, key, MASK_NONE, true);
- sitting_view.registerControl(control_name, 0, mouse, key, MASK_NONE, true);
-
- if (third_person_view.hasUnsavedChanges())
- {
- // calls loadBindingsXML()
- third_person_view.saveToSettings();
- }
-
- if (sitting_view.hasUnsavedChanges())
- {
- // calls loadBindingsXML()
- sitting_view.saveToSettings();
- }
-
- // in case of voice we need to repeat this in other modes
-
- for (U32 i = 0; i < LLKeyConflictHandler::MODE_COUNT - 1; ++i)
- {
- // edit and first person modes; MODE_SAVED_SETTINGS not in use at the moment
- if (i != LLKeyConflictHandler::MODE_THIRD_PERSON && i != LLKeyConflictHandler::MODE_SITTING)
- {
- LLKeyConflictHandler handler((LLKeyConflictHandler::ESourceMode)i);
-
- handler.registerControl(control_name, 0, mouse, key, MASK_NONE, true);
-
- if (handler.hasUnsavedChanges())
- {
- // calls loadBindingsXML()
- handler.saveToSettings();
- }
- }
- }
- }
- // since something might have gone wrong or there might have been nothing to save
- // (and because otherwise following code will have to be encased in else{}),
- // load everything one last time
-#endif
if (!gDirUtilp->fileExists(key_bindings_file) || !gViewerInput.loadBindingsXML(key_bindings_file))
{
// Failed to load custom bindings, try default ones
@@ -4720,6 +4610,10 @@ void LLAppViewer::idle()
//
// Special case idle if still starting up
//
+ if (LLStartUp::getStartupState() >= STATE_WORLD_INIT)
+ {
+ update_texture_time();
+ }
if (LLStartUp::getStartupState() < STATE_STARTED)
{
// Skip rest if idle startup returns false (essentially, no world yet)