1
0
Fork 0

CrashRpt tweaks, checking.

- show a message box if setup fails
- log setup status
This commit is contained in:
James Turner 2014-01-22 22:33:30 +00:00
parent 80cc2ff8c3
commit 45d67406a4
3 changed files with 25 additions and 4 deletions

View file

@ -37,6 +37,10 @@ namespace {
bool isCanvasImplementationRegistered()
{
if (!globals) {
return false;
}
SGCommandMgr* cmd = globals->get_commands();
return (cmd->getCommand("canvas-message-box") != NULL);
}
@ -46,7 +50,7 @@ bool isCanvasImplementationRegistered()
HWND getMainViewerHWND()
{
osgViewer::Viewer::Windows windows;
if (!globals->get_renderer() || !globals->get_renderer()->getViewer()) {
if (!globals || !globals->get_renderer() || !globals->get_renderer()->getViewer()) {
return 0;
}

View file

@ -73,6 +73,9 @@ using std::endl;
#if defined(HAVE_CRASHRPT)
#include <CrashRpt.h>
bool global_crashRptEnabled = false;
#endif
std::string homedir;
@ -210,8 +213,14 @@ int main ( int argc, char **argv )
// Install crash reporting
int nResult = crInstall(&info);
if(nResult!=0) {
std::cerr << "failed to install crash reporting engine" << std::endl;
char buf[1024];
crGetLastErrorMsg(buf, 1024);
flightgear::modalMessageBox("CrashRpt setup failed",
"Failed to setup crash-reporting engine, check the installation is not damaged.",
buf);
} else {
global_crashRptEnabled = true;
crAddProperty("hudson-build-id", HUDSON_BUILD_ID);
char buf[16];
::snprintf(buf, 16, "%d", HUDSON_BUILD_NUMBER);

View file

@ -35,6 +35,10 @@
#if defined(HAVE_CRASHRPT)
#include <CrashRpt.h>
// defined in bootstrap.cxx
extern bool global_crashRptEnabled;
#endif
// Class references
@ -346,8 +350,12 @@ static void logToFile()
sglog().logToFile(logPath, SG_ALL, SG_INFO);
#if defined(HAVE_CRASHRPT)
crAddFile2(logPath.c_str(), NULL, "FlightGear Log File", CR_AF_MAKE_FILE_COPY);
SG_LOG( SG_GENERAL, SG_INFO, "CrashRpt enabled");
if (global_crashRptEnabled) {
crAddFile2(logPath.c_str(), NULL, "FlightGear Log File", CR_AF_MAKE_FILE_COPY);
SG_LOG( SG_GENERAL, SG_INFO, "CrashRpt enabled");
} else {
SG_LOG(SG_GENERAL, SG_WARN, "CrashRpt enabled at compile time but failed to install");
}
#endif
}