1
0
Fork 0

Fix: survey result on crash only worked on Linux (#10855)

Every OS-specific crashlog handler has their own MakeCrashLog
in some form. In result, only Linux was calling the generic one.
pull/10856/head
Patric Stout 2023-05-21 12:57:32 +02:00 committed by GitHub
parent 98dffc3157
commit 0850193a38
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 3 deletions

View File

@ -454,6 +454,13 @@ bool CrashLog::WriteScreenshot(char *filename, const char *filename_last) const
return res;
}
void CrashLog::SendSurvey() const
{
if (_game_mode == GM_NORMAL) {
_survey.Transmit(NetworkSurveyHandler::Reason::CRASH, true);
}
}
/**
* Makes the crash log, writes it to a file and then subsequently tries
* to make a crash dump and crash savegame. It uses DEBUG to write
@ -512,9 +519,7 @@ bool CrashLog::MakeCrashLog() const
printf("Writing crash screenshot failed.\n\n");
}
if (_game_mode == GM_NORMAL) {
_survey.Transmit(NetworkSurveyHandler::Reason::CRASH, true);
}
this->SendSurvey();
return ret;
}

View File

@ -99,6 +99,8 @@ public:
bool WriteSavegame(char *filename, const char *filename_last) const;
bool WriteScreenshot(char *filename, const char *filename_last) const;
void SendSurvey() const;
bool MakeCrashLog() const;
/**

View File

@ -192,6 +192,8 @@ public:
ret = false;
}
this->SendSurvey();
return ret;
}

View File

@ -564,6 +564,7 @@ static LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS *ep)
log->AppendDecodedStacktrace(buf, lastof(log->crashlog));
log->WriteCrashLog(log->crashlog, log->crashlog_filename, lastof(log->crashlog_filename));
log->WriteScreenshot(log->screenshot_filename, lastof(log->screenshot_filename));
log->SendSurvey();
/* Close any possible log files */
CloseConsoleLogIfActive();