Browse Source

frontend: Do not enable crash log upload without log file

Co-authored-by: PatTheMav <[email protected]>
tytan652 5 tháng trước cách đây
mục cha
commit
747f67e150
2 tập tin đã thay đổi với 9 bổ sung1 xóa
  1. 8 0
      frontend/utility/CrashHandler.cpp
  2. 1 1
      frontend/utility/CrashHandler.hpp

+ 8 - 0
frontend/utility/CrashHandler.cpp

@@ -141,6 +141,10 @@ bool CrashHandler::hasNewCrashLog()
 {
 	CrashLogUpdateResult result = updateLocalCrashLogState();
 
+	if (result == CrashLogUpdateResult::NotAvailable) {
+		return false;
+	}
+
 	bool hasNewCrashLog = (result == CrashLogUpdateResult::Updated);
 	bool hasNoLogUrl = lastCrashLogURL_.empty();
 
@@ -153,6 +157,10 @@ CrashLogUpdateResult CrashHandler::updateLocalCrashLogState()
 
 	std::filesystem::path lastLocalCrashLogFile = findLastCrashLog();
 
+	if (lastLocalCrashLogFile.empty() && lastCrashLogFile_.empty()) {
+		return CrashLogUpdateResult::NotAvailable;
+	}
+
 	if (lastLocalCrashLogFile != lastCrashLogFile_) {
 		lastCrashLogFile_ = std::move(lastLocalCrashLogFile);
 		lastCrashLogFileName_ = lastCrashLogFile_.filename().u8string();

+ 1 - 1
frontend/utility/CrashHandler.hpp

@@ -67,7 +67,7 @@ public:
 	std::filesystem::path getCrashLogDirectory() const;
 	void uploadLastCrashLog();
 
-	enum class CrashLogUpdateResult { InvalidResult, NotUpdated, Updated };
+	enum class CrashLogUpdateResult { InvalidResult, NotAvailable, NotUpdated, Updated };
 
 private:
 	void checkCrashState();