diff options
Diffstat (limited to 'linden/indra/newview/llappviewer.cpp')
-rw-r--r-- | linden/indra/newview/llappviewer.cpp | 37 |
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"); |