desktop/Library_crashreport.mk | 1 + desktop/source/app/app.cxx | 5 +++-- desktop/source/app/crashreport.cxx | 33 ++++++++++++++++++++++++--------- 3 files changed, 28 insertions(+), 11 deletions(-)
New commits: commit 21151d01e8340a44af42f3e212529ec6c9ca3b64 Author: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> Date: Fri Jan 13 11:50:12 2017 +0100 Crashdump: Make crash directory configurable Change-Id: I8106ec674080ede7072581dab2e6700040de5828 diff --git a/desktop/source/app/crashreport.cxx b/desktop/source/app/crashreport.cxx index dd7b3e66708e..bb3a035524a1 100644 --- a/desktop/source/app/crashreport.cxx +++ b/desktop/source/app/crashreport.cxx @@ -90,22 +90,35 @@ void CrashReporter::writeCommonInfo() namespace { -OUString getCrashUserProfileDirectory() +OUString getCrashDirectory() { - OUString url("${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" SAL_CONFIGFILE("bootstrap") ":UserInstallation}/crash/"); - rtl::Bootstrap::expandMacros(url); - osl::Directory::create(url); + OUString aCrashURL; - OUString aProfilePath; - osl::FileBase::getSystemPathFromFileURL(url, aProfilePath); - return aProfilePath; + // First check whether a user-defined path is available (crashreport.ini) + OUString aCrashPath("${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" SAL_CONFIGFILE("crashreport") ":CrashDirectory}"); + rtl::Bootstrap::expandMacros(aCrashPath); + osl::FileBase::getFileURLFromSystemPath(aCrashPath, aCrashURL); + + // Fall back to user profile + if (aCrashPath.isEmpty()) + { + aCrashURL = "${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" SAL_CONFIGFILE("bootstrap") ":UserInstallation}/crash"; + rtl::Bootstrap::expandMacros(aCrashURL); + } + + if (!aCrashURL.endsWith("/")) + aCrashURL += "/"; + osl::FileBase::RC rc = osl::Directory::create(aCrashURL); + (void)rc; + osl::FileBase::getSystemPathFromFileURL(aCrashURL, aCrashPath); + return aCrashPath; } } void CrashReporter::updateMinidumpLocation() { - OUString aURL = getCrashUserProfileDirectory(); + OUString aURL = getCrashDirectory(); #if defined( UNX ) && !defined MACOSX && !defined IOS && !defined ANDROID OString aOStringUrl = OUStringToOString(aURL, RTL_TEXTENCODING_UTF8); google_breakpad::MinidumpDescriptor descriptor(aOStringUrl.getStr()); @@ -122,7 +135,7 @@ void CrashReporter::storeExceptionHandler(google_breakpad::ExceptionHandler* pEx std::string CrashReporter::getIniFileName() { - OUString url = getCrashUserProfileDirectory() + "dump.ini"; + OUString url = getCrashDirectory() + "dump.ini"; OString aUrl = OUStringToOString(url, RTL_TEXTENCODING_UTF8); std::string aRet(aUrl.getStr()); return aRet; commit 261862f000dce95013843d4a183ad09fe1639041 Author: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> Date: Thu Jan 12 16:47:40 2017 +0100 Disable CrashReportUI since we don't offer upload - only want the dumps Change-Id: I6d084757d83204cb960905d7eb78571b13f8f875 diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx index a2b18f201578..03dcdf477817 100644 --- a/desktop/source/app/app.cxx +++ b/desktop/source/app/app.cxx @@ -1039,7 +1039,8 @@ bool crashReportInfoExists() #if HAVE_FEATURE_BREAKPAD void handleCrashReport() { - static const char SERVICENAME_CRASHREPORT[] = "com.sun.star.comp.svx.CrashReportUI"; + // Don't show the dialog since we don't offer upload - only want the dumps + /*static const char SERVICENAME_CRASHREPORT[] = "com.sun.star.comp.svx.CrashReportUI"; css::uno::Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext(); @@ -1053,7 +1054,7 @@ void handleCrashReport() css::util::URL aURL; css::uno::Any aRet = xRecoveryUI->dispatchWithReturnValue(aURL, css::uno::Sequence< css::beans::PropertyValue >()); bool bRet = false; - aRet >>= bRet; + aRet >>= bRet;*/ } #endif commit ea8971414738c35ae683416ddd3d7da30e72f1f9 Author: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> Date: Thu Jan 12 16:46:45 2017 +0100 Add build id to crash metadata Change-Id: I0e11a96936ea08cc439fcc1b1e3ff1f59c636665 diff --git a/desktop/Library_crashreport.mk b/desktop/Library_crashreport.mk index ba2f3483a416..d6d9b8b91cc5 100644 --- a/desktop/Library_crashreport.mk +++ b/desktop/Library_crashreport.mk @@ -36,6 +36,7 @@ $(eval $(call gb_Library_use_libraries,crashreport,\ cppuhelper \ sal \ salhelper \ + utl \ $(gb_UWINAPI) \ )) diff --git a/desktop/source/app/crashreport.cxx b/desktop/source/app/crashreport.cxx index 9715fde513c9..dd7b3e66708e 100644 --- a/desktop/source/app/crashreport.cxx +++ b/desktop/source/app/crashreport.cxx @@ -10,6 +10,7 @@ #include <desktop/crashreport.hxx> #include <rtl/bootstrap.hxx> #include <osl/file.hxx> +#include <unotools/bootstrap.hxx> #include <config_version.h> #include <config_folders.h> @@ -73,6 +74,7 @@ void CrashReporter::writeCommonInfo() std::ofstream minidump_file(ini_path, std::ios_base::trunc); minidump_file << "ProductName=LibreOffice\n"; minidump_file << "Version=" LIBO_VERSION_DOTTED "\n"; + minidump_file << "BuildID=" << utl::Bootstrap::getBuildIdData("") << "\n"; minidump_file << "URL=http://crashreport.libreoffice.org/submit/\n"; for (auto& keyValue : maKeyValues) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits