diff --git a/indra/win_crash_logger/llcrashloggerwindows.cpp b/indra/win_crash_logger/llcrashloggerwindows.cpp index ca00c946d0..2f8b95f2fd 100644 --- a/indra/win_crash_logger/llcrashloggerwindows.cpp +++ b/indra/win_crash_logger/llcrashloggerwindows.cpp @@ -260,6 +260,8 @@ LLCrashLoggerWindows::LLCrashLoggerWindows(void) mCrashLookup = new LLCrashLookupWindows(); #endif // LL_SEND_CRASH_REPORTS // [/SL:KB] + + mMinidumpWritten = false; // Flag if we crashed (wrote a minidump) or not. } LLCrashLoggerWindows::~LLCrashLoggerWindows(void) @@ -375,6 +377,8 @@ void LLCrashLoggerWindows::OnClientDumpRequest(void* context, const google_breakpad::ClientInfo* client_info, const std::wstring* file_path) { + mMinidumpWritten = true; // We crashed, need to send those crashlogs. + if (!file_path) { llwarns << "dump with no file path" << llendl; @@ -499,6 +503,11 @@ void LLCrashLoggerWindows::gatherPlatformSpecificFiles() bool LLCrashLoggerWindows::mainLoop() { + // Only show crashlogger if we really crashed. + if( !mMinidumpWritten ) + return true; + // + llinfos << "CrashSubmitBehavior is " << mCrashBehavior << llendl; // Note: parent hwnd is 0 (the desktop). No dlg proc. See Petzold (5th ed) HexCalc example, Chapter 11, p529 // win_crash_logger.rc has been edited by hand. diff --git a/indra/win_crash_logger/llcrashloggerwindows.h b/indra/win_crash_logger/llcrashloggerwindows.h index 1812e2737e..89dd4b2f3e 100644 --- a/indra/win_crash_logger/llcrashloggerwindows.h +++ b/indra/win_crash_logger/llcrashloggerwindows.h @@ -81,6 +81,7 @@ private: HINSTANCE mhInst; + bool mMinidumpWritten; // Flag if we crashed (wrote a minidump) or not. }; #endif