summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorakleshchev <117672381+akleshchev@users.noreply.github.com>2023-03-03 00:26:46 +0200
committerGitHub <noreply@github.com>2023-03-03 00:26:46 +0200
commit204072d51cb6c0f742873ccd98da2c761573b587 (patch)
tree8f9e67b3f8a2eadfed2778b290821facf0f141cf
parent99a23af61742785af35d521792cf8f4a59b62bfc (diff)
SL-19327 Disable crash reporting for Win7 (#102)
Win7 is no longer supported and is below minimal requirements
-rw-r--r--indra/newview/llappviewerwin32.cpp137
1 files changed, 71 insertions, 66 deletions
diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp
index a39ec7f51b..0c764fe48a 100644
--- a/indra/newview/llappviewerwin32.cpp
+++ b/indra/newview/llappviewerwin32.cpp
@@ -620,76 +620,81 @@ bool LLAppViewerWin32::init()
LLFile::remove(log_file, ENOENT);
}
- std::string build_data_fname(
- gDirUtilp->getExpandedFilename(LL_PATH_EXECUTABLE, "build_data.json"));
- // Use llifstream instead of std::ifstream because LL_PATH_EXECUTABLE
- // could contain non-ASCII characters, which std::ifstream doesn't handle.
- llifstream inf(build_data_fname.c_str());
- if (! inf.is_open())
- {
- LL_WARNS("BUGSPLAT") << "Can't initialize BugSplat, can't read '" << build_data_fname
- << "'" << LL_ENDL;
- }
- else
- {
- Json::Reader reader;
- Json::Value build_data;
- if (! reader.parse(inf, build_data, false)) // don't collect comments
- {
- // gah, the typo is baked into Json::Reader API
- LL_WARNS("BUGSPLAT") << "Can't initialize BugSplat, can't parse '" << build_data_fname
- << "': " << reader.getFormatedErrorMessages() << LL_ENDL;
- }
- else
- {
- Json::Value BugSplat_DB = build_data["BugSplat DB"];
- if (! BugSplat_DB)
- {
- LL_WARNS("BUGSPLAT") << "Can't initialize BugSplat, no 'BugSplat DB' entry in '"
- << build_data_fname << "'" << LL_ENDL;
- }
- else
- {
- // Got BugSplat_DB, onward!
- std::wstring version_string(WSTRINGIZE(LL_VIEWER_VERSION_MAJOR << '.' <<
- LL_VIEWER_VERSION_MINOR << '.' <<
- LL_VIEWER_VERSION_PATCH << '.' <<
- LL_VIEWER_VERSION_BUILD));
-
- DWORD dwFlags = MDSF_NONINTERACTIVE | // automatically submit report without prompting
- MDSF_PREVENTHIJACKING; // disallow swiping Exception filter
+ // Win7 is no longer supported
+ bool is_win_7_or_below = LLOSInfo::getInstance()->mMajorVer <= 6 && LLOSInfo::getInstance()->mMajorVer <= 1;
- bool needs_log_file = !isSecondInstance() && debugLoggingEnabled("BUGSPLAT");
- if (needs_log_file)
+ if (!is_win_7_or_below)
+ {
+ std::string build_data_fname(
+ gDirUtilp->getExpandedFilename(LL_PATH_EXECUTABLE, "build_data.json"));
+ // Use llifstream instead of std::ifstream because LL_PATH_EXECUTABLE
+ // could contain non-ASCII characters, which std::ifstream doesn't handle.
+ llifstream inf(build_data_fname.c_str());
+ if (!inf.is_open())
+ {
+ LL_WARNS("BUGSPLAT") << "Can't initialize BugSplat, can't read '" << build_data_fname
+ << "'" << LL_ENDL;
+ }
+ else
+ {
+ Json::Reader reader;
+ Json::Value build_data;
+ if (!reader.parse(inf, build_data, false)) // don't collect comments
+ {
+ // gah, the typo is baked into Json::Reader API
+ LL_WARNS("BUGSPLAT") << "Can't initialize BugSplat, can't parse '" << build_data_fname
+ << "': " << reader.getFormatedErrorMessages() << LL_ENDL;
+ }
+ else
+ {
+ Json::Value BugSplat_DB = build_data["BugSplat DB"];
+ if (!BugSplat_DB)
{
- // Startup only!
- LL_INFOS("BUGSPLAT") << "Engaged BugSplat logging to bugsplat.log" << LL_ENDL;
- dwFlags |= MDSF_LOGFILE | MDSF_LOG_VERBOSE;
+ LL_WARNS("BUGSPLAT") << "Can't initialize BugSplat, no 'BugSplat DB' entry in '"
+ << build_data_fname << "'" << LL_ENDL;
}
-
- // have to convert normal wide strings to strings of __wchar_t
- sBugSplatSender = new MiniDmpSender(
- WCSTR(BugSplat_DB.asString()),
- WCSTR(LL_TO_WSTRING(LL_VIEWER_CHANNEL)),
- WCSTR(version_string),
- nullptr, // szAppIdentifier -- set later
- dwFlags);
- sBugSplatSender->setCallback(bugsplatSendLog);
-
- if (needs_log_file)
+ else
{
- // Log file will be created in %TEMP%, but it will be moved into logs folder in case of crash
- std::string log_file = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "bugsplat.log");
- sBugSplatSender->setLogFilePath(WCSTR(log_file));
- }
-
- // engage stringize() overload that converts from wstring
- LL_INFOS("BUGSPLAT") << "Engaged BugSplat(" << LL_TO_STRING(LL_VIEWER_CHANNEL)
- << ' ' << stringize(version_string) << ')' << LL_ENDL;
- } // got BugSplat_DB
- } // parsed build_data.json
- } // opened build_data.json
-
+ // Got BugSplat_DB, onward!
+ std::wstring version_string(WSTRINGIZE(LL_VIEWER_VERSION_MAJOR << '.' <<
+ LL_VIEWER_VERSION_MINOR << '.' <<
+ LL_VIEWER_VERSION_PATCH << '.' <<
+ LL_VIEWER_VERSION_BUILD));
+
+ DWORD dwFlags = MDSF_NONINTERACTIVE | // automatically submit report without prompting
+ MDSF_PREVENTHIJACKING; // disallow swiping Exception filter
+
+ bool needs_log_file = !isSecondInstance() && debugLoggingEnabled("BUGSPLAT");
+ if (needs_log_file)
+ {
+ // Startup only!
+ LL_INFOS("BUGSPLAT") << "Engaged BugSplat logging to bugsplat.log" << LL_ENDL;
+ dwFlags |= MDSF_LOGFILE | MDSF_LOG_VERBOSE;
+ }
+
+ // have to convert normal wide strings to strings of __wchar_t
+ sBugSplatSender = new MiniDmpSender(
+ WCSTR(BugSplat_DB.asString()),
+ WCSTR(LL_TO_WSTRING(LL_VIEWER_CHANNEL)),
+ WCSTR(version_string),
+ nullptr, // szAppIdentifier -- set later
+ dwFlags);
+ sBugSplatSender->setCallback(bugsplatSendLog);
+
+ if (needs_log_file)
+ {
+ // Log file will be created in %TEMP%, but it will be moved into logs folder in case of crash
+ std::string log_file = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "bugsplat.log");
+ sBugSplatSender->setLogFilePath(WCSTR(log_file));
+ }
+
+ // engage stringize() overload that converts from wstring
+ LL_INFOS("BUGSPLAT") << "Engaged BugSplat(" << LL_TO_STRING(LL_VIEWER_CHANNEL)
+ << ' ' << stringize(version_string) << ')' << LL_ENDL;
+ } // got BugSplat_DB
+ } // parsed build_data.json
+ } // opened build_data.json
+ } // !is_win_7_or_below
#endif // LL_BUGSPLAT
#endif // LL_SEND_CRASH_REPORTS