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.cpp31
1 files changed, 29 insertions, 2 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 3d10eda7fd..b360d9a8e5 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -152,6 +152,7 @@
#include "llvieweraudio.h"
#include "llimview.h"
#include "llviewerthrottle.h"
+#include "llparcel.h"
//
#include "llinventoryview.h"
@@ -1563,6 +1564,12 @@ bool LLAppViewer::initConfiguration()
llinfos << "Command line usage:\n" << clp << llendl;
}
+ // If we have specified crash on startup, might as well do it now.
+ if(clp.hasOption("crashonstartup"))
+ {
+ LLAppViewer::instance()->forceErrorLLError();
+ }
+
// If the user has specified a alternate settings file name.
// Load it now.
if(clp.hasOption("settings"))
@@ -2136,6 +2143,13 @@ void LLAppViewer::writeSystemInfo()
llinfos << "OS info: " << getOSInfo() << llendl;
}
+void LLAppViewer::handleSyncViewerCrash()
+{
+ LLAppViewer* pApp = LLAppViewer::instance();
+ // Call to pure virtual, handled by platform specific llappviewer instance.
+ pApp->handleSyncCrashTrace();
+}
+
void LLAppViewer::handleViewerCrash()
{
LLAppViewer* pApp = LLAppViewer::instance();
@@ -2161,6 +2175,17 @@ void LLAppViewer::handleViewerCrash()
gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR;
gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH;
gDebugInfo["ClientInfo"]["BuildVersion"] = LL_VERSION_BUILD;
+
+ LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
+ if ( parcel && parcel->getMusicURL()[0])
+ {
+ gDebugInfo["ParcelMusicURL"] = parcel->getMusicURL();
+ }
+ if ( parcel && parcel->getMediaURL()[0])
+ {
+ gDebugInfo["ParcelMediaURL"] = parcel->getMediaURL();
+ }
+
gDebugInfo["SettingsFilename"] = gSavedSettings.getString("ClientSettingsFile");
gDebugInfo["CAFilename"] = gDirUtilp->getCAFile();
@@ -2236,7 +2261,7 @@ void LLAppViewer::handleViewerCrash()
pApp->removeMarkerFile(false);
}
- // Call to pure virtual, handled by platform specifc llappviewer instance.
+ // Call to pure virtual, handled by platform specific llappviewer instance.
pApp->handleCrashReporting();
return;
@@ -2806,6 +2831,7 @@ void LLAppViewer::badNetworkHandler()
// Generates the minidump.
LLWinDebug::handleException(NULL);
#endif
+ LLAppViewer::handleSyncViewerCrash();
LLAppViewer::handleViewerCrash();
std::ostringstream message;
@@ -2839,7 +2865,8 @@ void LLAppViewer::saveFinalSnapshot()
LLString snap_filename = gDirUtilp->getLindenUserDir();
snap_filename += gDirUtilp->getDirDelimiter();
snap_filename += SCREEN_LAST_FILENAME;
- gViewerWindow->saveSnapshot(snap_filename, gViewerWindow->getWindowWidth(), gViewerWindow->getWindowHeight(), FALSE, TRUE);
+ // use full pixel dimensions of viewer window (not post-scale dimensions)
+ gViewerWindow->saveSnapshot(snap_filename, gViewerWindow->getWindowDisplayWidth(), gViewerWindow->getWindowDisplayHeight(), FALSE, TRUE);
mSavedFinalSnapshot = TRUE;
}
}