예제 #1
0
void LLAppViewerWin32::handleCrashReporting()
{
    // Windows only behaivor. Spawn win crash reporter.
    std::string exe_path = gDirUtilp->getAppRODataDir();
    exe_path += gDirUtilp->getDirDelimiter();
    exe_path += "win_crash_logger.exe";

    std::string arg_string = "-user ";
    arg_string += gGridName;

    switch(getCrashBehavior())
    {
    case CRASH_BEHAVIOR_ASK:
    default:
        arg_string += " -dialog ";
        _spawnl(_P_NOWAIT, exe_path.c_str(), exe_path.c_str(), arg_string.c_str(), NULL);
        break;

    case CRASH_BEHAVIOR_ALWAYS_SEND:
        _spawnl(_P_NOWAIT, exe_path.c_str(), exe_path.c_str(), arg_string.c_str(), NULL);
        break;

    case CRASH_BEHAVIOR_NEVER_SEND:
        break;
    }
}
bool LLCrashLoggerLinux::mainLoop()
{
	// <FS:ND> Get around the crash logger popping up all the time.
	// Right now there seems to be no easy way to test if there's logs from a real crash to send. Which
	// would be preferred, as then asking for sending in data makes sense. Right now the dialog will just open always.

	// bool send_logs = true;
	// if(CRASH_BEHAVIOR_ASK == getCrashBehavior())
	// {
	// 	send_logs = do_ask_dialog();
	// }
	// else if(CRASH_BEHAVIOR_NEVER_SEND == getCrashBehavior())
	// {
	// 	send_logs = false;
	// }

	bool send_logs = (CRASH_BEHAVIOR_NEVER_SEND == getCrashBehavior());

	// </FS:ND>

	if(send_logs)
	{
		sendCrashLogs();
	}
	return true;
}
예제 #3
0
bool LLCrashLoggerLinux::mainLoop()
{
	bool send_logs = true;
	if(CRASH_BEHAVIOR_ASK == getCrashBehavior())
	{
		send_logs = do_ask_dialog();
	}
	else if(CRASH_BEHAVIOR_NEVER_SEND == getCrashBehavior())
	{
		send_logs = false;
	}

	if(send_logs)
	{
		sendCrashLogs();
	}
	return true;
}