aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llappviewer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/newview/llappviewer.cpp')
-rw-r--r--linden/indra/newview/llappviewer.cpp37
1 files changed, 21 insertions, 16 deletions
diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp
index f39610f..96d96dc 100644
--- a/linden/indra/newview/llappviewer.cpp
+++ b/linden/indra/newview/llappviewer.cpp
@@ -402,13 +402,13 @@ bool handleCrashSubmitBehaviorChanged(const LLSD& newvalue)
402 const S32 NEVER_SUBMIT_REPORT = 2; 402 const S32 NEVER_SUBMIT_REPORT = 2;
403 if(cb == NEVER_SUBMIT_REPORT) 403 if(cb == NEVER_SUBMIT_REPORT)
404 { 404 {
405 // LLWatchdog::getInstance()->cleanup(); // SJB: cleaning up a running watchdog is unsafe 405// LLWatchdog::getInstance()->cleanup(); // SJB: cleaning up a running watchdog thread is unsafe
406 LLAppViewer::instance()->destroyMainloopTimeout(); 406 LLAppViewer::instance()->destroyMainloopTimeout();
407 } 407 }
408 else if(gSavedSettings.getBOOL("WatchdogEnabled") == TRUE) 408 else if(gSavedSettings.getBOOL("WatchdogEnabled") == TRUE)
409 { 409 {
410// LLWatchdog::getInstance()->init(); 410 // Don't re-enable the watchdog when we change the setting; this may get called before it's started
411// LLAppViewer::instance()->initMainloopTimeout("Mainloop Resume"); 411// LLWatchdog::getInstance()->init();
412 } 412 }
413 return true; 413 return true;
414} 414}
@@ -1580,6 +1580,7 @@ bool LLAppViewer::initConfiguration()
1580 // on these platform to help debug. 1580 // on these platform to help debug.
1581#ifndef LL_RELEASE_FOR_DOWNLOAD 1581#ifndef LL_RELEASE_FOR_DOWNLOAD
1582 gSavedSettings.setBOOL("WatchdogEnabled", FALSE); 1582 gSavedSettings.setBOOL("WatchdogEnabled", FALSE);
1583 gSavedSettings.setBOOL("QAMode", TRUE );
1583#endif 1584#endif
1584 1585
1585#ifndef LL_WINDOWS 1586#ifndef LL_WINDOWS
@@ -1631,15 +1632,6 @@ bool LLAppViewer::initConfiguration()
1631 // Do this *before* loading the settings file 1632 // Do this *before* loading the settings file
1632 LLAlertDialog::parseAlerts("alerts.xml", &gSavedSettings, TRUE); 1633 LLAlertDialog::parseAlerts("alerts.xml", &gSavedSettings, TRUE);
1633 1634
1634#if LL_DYNAMIC_FONT_DISCOVERY
1635 // Linux does *dynamic* font discovery which is preferable to
1636 // whatever got written-out into the config file last time. This
1637 // does remove the ability of the user to hand-define the fallbacks
1638 // though, so from a config-management point of view this is hacky.
1639 gSavedSettings.setString("FontSansSerifFallback",
1640 LLWindow::getFontListSans());
1641#endif
1642
1643 // - read command line settings. 1635 // - read command line settings.
1644 LLControlGroupCLP clp; 1636 LLControlGroupCLP clp;
1645 std::string cmd_line_config = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, 1637 std::string cmd_line_config = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS,
@@ -1684,6 +1676,15 @@ bool LLAppViewer::initConfiguration()
1684 // - load overrides from user_settings 1676 // - load overrides from user_settings
1685 loadSettingsFromDirectory(LL_PATH_USER_SETTINGS); 1677 loadSettingsFromDirectory(LL_PATH_USER_SETTINGS);
1686 1678
1679#if LL_DYNAMIC_FONT_DISCOVERY
1680 // Linux does *dynamic* font discovery which is preferable to
1681 // whatever got written-out into the config file last time. This
1682 // does remove the ability of the user to hand-define the fallbacks
1683 // though, so from a config-management point of view this is hacky.
1684 gSavedSettings.setString("FontSansSerifFallback",
1685 LLWindow::getFontListSans());
1686#endif
1687
1687 // - apply command line settings 1688 // - apply command line settings
1688 clp.notify(); 1689 clp.notify();
1689 1690
@@ -2228,7 +2229,11 @@ void LLAppViewer::writeSystemInfo()
2228 gDebugInfo["RAMInfo"]["Physical"] = (LLSD::Integer)(gSysMemory.getPhysicalMemoryKB()); 2229 gDebugInfo["RAMInfo"]["Physical"] = (LLSD::Integer)(gSysMemory.getPhysicalMemoryKB());
2229 gDebugInfo["RAMInfo"]["Allocated"] = (LLSD::Integer)(gMemoryAllocated>>10); // MB -> KB 2230 gDebugInfo["RAMInfo"]["Allocated"] = (LLSD::Integer)(gMemoryAllocated>>10); // MB -> KB
2230 gDebugInfo["OSInfo"] = getOSInfo().getOSStringSimple(); 2231 gDebugInfo["OSInfo"] = getOSInfo().getOSStringSimple();
2231 2232
2233 // The user is not logged on yet, but record the current grid choice login url
2234 // which may have been the intended grid. This can b
2235 gDebugInfo["GridName"] = LLViewerLogin::getInstance()->getGridLabel();
2236
2232 // *FIX:Mani - move this ddown in llappviewerwin32 2237 // *FIX:Mani - move this ddown in llappviewerwin32
2233#ifdef LL_WINDOWS 2238#ifdef LL_WINDOWS
2234 DWORD thread_id = GetCurrentThreadId(); 2239 DWORD thread_id = GetCurrentThreadId();
@@ -2265,9 +2270,6 @@ void LLAppViewer::handleViewerCrash()
2265{ 2270{
2266 llinfos << "Handle viewer crash entry." << llendl; 2271 llinfos << "Handle viewer crash entry." << llendl;
2267 2272
2268 // Make sure the watchdog gets turned off...
2269// LLWatchdog::getInstance()->cleanup(); // SJB: This causes the Watchdog to hang for an extra 20-40s?!
2270
2271 LLAppViewer* pApp = LLAppViewer::instance(); 2273 LLAppViewer* pApp = LLAppViewer::instance();
2272 if (pApp->beingDebugged()) 2274 if (pApp->beingDebugged())
2273 { 2275 {
@@ -2283,6 +2285,9 @@ void LLAppViewer::handleViewerCrash()
2283 } 2285 }
2284 pApp->mReportedCrash = TRUE; 2286 pApp->mReportedCrash = TRUE;
2285 2287
2288 // Make sure the watchdog gets turned off...
2289// pApp->destroyMainloopTimeout(); // SJB: Bah. This causes the crash handler to hang, not sure why.
2290
2286 //We already do this in writeSystemInfo(), but we do it again here to make /sure/ we have a version 2291 //We already do this in writeSystemInfo(), but we do it again here to make /sure/ we have a version
2287 //to check against no matter what 2292 //to check against no matter what
2288 gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName"); 2293 gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName");