| 
														
															@@ -5035,7 +5035,7 @@ static BPtr<char> ReadLogFile(const char *subdir, const char *log) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	return file; 
														 | 
														
														 | 
														
															 	return file; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-void OBSBasic::UploadLog(const char *subdir, const char *file) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+void OBSBasic::UploadLog(const char *subdir, const char *file, const bool crash) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 { 
														 | 
														
														 | 
														
															 { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	BPtr<char> fileString{ReadLogFile(subdir, file)}; 
														 | 
														
														 | 
														
															 	BPtr<char> fileString{ReadLogFile(subdir, file)}; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -5046,6 +5046,7 @@ void OBSBasic::UploadLog(const char *subdir, const char *file) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		return; 
														 | 
														
														 | 
														
															 		return; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	ui->menuLogFiles->setEnabled(false); 
														 | 
														
														 | 
														
															 	ui->menuLogFiles->setEnabled(false); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	ui->menuCrashLogs->setEnabled(false); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	stringstream ss; 
														 | 
														
														 | 
														
															 	stringstream ss; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	ss << "OBS " << App()->GetVersionString() << " log file uploaded at " 
														 | 
														
														 | 
														
															 	ss << "OBS " << App()->GetVersionString() << " log file uploaded at " 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -5061,8 +5062,13 @@ void OBSBasic::UploadLog(const char *subdir, const char *file) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				     "text/plain", ss.str().c_str()); 
														 | 
														
														 | 
														
															 				     "text/plain", ss.str().c_str()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	logUploadThread.reset(thread); 
														 | 
														
														 | 
														
															 	logUploadThread.reset(thread); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	connect(thread, &RemoteTextThread::Result, this, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		&OBSBasic::logUploadFinished); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if (crash) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		connect(thread, &RemoteTextThread::Result, this, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			&OBSBasic::crashUploadFinished); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		connect(thread, &RemoteTextThread::Result, this, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			&OBSBasic::logUploadFinished); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	logUploadThread->start(); 
														 | 
														
														 | 
														
															 	logUploadThread->start(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -5078,12 +5084,12 @@ void OBSBasic::on_actionShowLogs_triggered() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 void OBSBasic::on_actionUploadCurrentLog_triggered() 
														 | 
														
														 | 
														
															 void OBSBasic::on_actionUploadCurrentLog_triggered() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 { 
														 | 
														
														 | 
														
															 { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	UploadLog("obs-studio/logs", App()->GetCurrentLog()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	UploadLog("obs-studio/logs", App()->GetCurrentLog(), false); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 void OBSBasic::on_actionUploadLastLog_triggered() 
														 | 
														
														 | 
														
															 void OBSBasic::on_actionUploadLastLog_triggered() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 { 
														 | 
														
														 | 
														
															 { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	UploadLog("obs-studio/logs", App()->GetLastLog()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	UploadLog("obs-studio/logs", App()->GetLastLog(), false); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 void OBSBasic::on_actionViewCurrentLog_triggered() 
														 | 
														
														 | 
														
															 void OBSBasic::on_actionViewCurrentLog_triggered() 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -5114,7 +5120,7 @@ void OBSBasic::on_actionShowCrashLogs_triggered() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 void OBSBasic::on_actionUploadLastCrashLog_triggered() 
														 | 
														
														 | 
														
															 void OBSBasic::on_actionUploadLastCrashLog_triggered() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 { 
														 | 
														
														 | 
														
															 { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	UploadLog("obs-studio/crashes", App()->GetLastCrashLog()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	UploadLog("obs-studio/crashes", App()->GetLastCrashLog(), true); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 void OBSBasic::on_actionCheckForUpdates_triggered() 
														 | 
														
														 | 
														
															 void OBSBasic::on_actionCheckForUpdates_triggered() 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -5125,6 +5131,21 @@ void OBSBasic::on_actionCheckForUpdates_triggered() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 void OBSBasic::logUploadFinished(const QString &text, const QString &error) 
														 | 
														
														 | 
														
															 void OBSBasic::logUploadFinished(const QString &text, const QString &error) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 { 
														 | 
														
														 | 
														
															 { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	ui->menuLogFiles->setEnabled(true); 
														 | 
														
														 | 
														
															 	ui->menuLogFiles->setEnabled(true); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	ui->menuCrashLogs->setEnabled(true); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if (text.isEmpty()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		OBSMessageBox::critical( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			this, QTStr("LogReturnDialog.ErrorUploadingLog"), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			error); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		return; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	openLogDialog(text, false); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+void OBSBasic::crashUploadFinished(const QString &text, const QString &error) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	ui->menuLogFiles->setEnabled(true); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	ui->menuCrashLogs->setEnabled(true); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	if (text.isEmpty()) { 
														 | 
														
														 | 
														
															 	if (text.isEmpty()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		OBSMessageBox::critical( 
														 | 
														
														 | 
														
															 		OBSMessageBox::critical( 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -5132,13 +5153,18 @@ void OBSBasic::logUploadFinished(const QString &text, const QString &error) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			error); 
														 | 
														
														 | 
														
															 			error); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		return; 
														 | 
														
														 | 
														
															 		return; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	openLogDialog(text, true); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+void OBSBasic::openLogDialog(const QString &text, const bool crash) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	obs_data_t *returnData = obs_data_create_from_json(QT_TO_UTF8(text)); 
														 | 
														
														 | 
														
															 	obs_data_t *returnData = obs_data_create_from_json(QT_TO_UTF8(text)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	string resURL = obs_data_get_string(returnData, "url"); 
														 | 
														
														 | 
														
															 	string resURL = obs_data_get_string(returnData, "url"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	QString logURL = resURL.c_str(); 
														 | 
														
														 | 
														
															 	QString logURL = resURL.c_str(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	obs_data_release(returnData); 
														 | 
														
														 | 
														
															 	obs_data_release(returnData); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	OBSLogReply logDialog(this, logURL); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	OBSLogReply logDialog(this, logURL, crash); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	logDialog.exec(); 
														 | 
														
														 | 
														
															 	logDialog.exec(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 |