mirror of
				https://github.com/kunkundi/crossdesk.git
				synced 2025-10-26 20:25:34 +08:00 
			
		
		
		
	[fix] fix crash when try to close connection
This commit is contained in:
		| @@ -120,15 +120,15 @@ int Render::ConnectTo(const std::string &host_name, const char *password, | |||||||
|   if (signal_connected_) { |   if (signal_connected_) { | ||||||
|     if (!props->connection_established_) { |     if (!props->connection_established_) { | ||||||
|       if (0 == strcmp(host_name.c_str(), client_id_) && !peer_reserved_) { |       if (0 == strcmp(host_name.c_str(), client_id_) && !peer_reserved_) { | ||||||
|  |         std::string client_id = "C-"; | ||||||
|  |         client_id += client_id_; | ||||||
|         peer_reserved_ = CreatePeer(¶ms_); |         peer_reserved_ = CreatePeer(¶ms_); | ||||||
|         if (peer_reserved_) { |         if (peer_reserved_) { | ||||||
|           LOG_INFO("Create peer[reserved] instance successful"); |           LOG_INFO("[{}] Create peer instance successful", client_id); | ||||||
|           std::string client_id = "C-"; |  | ||||||
|           client_id += client_id_; |  | ||||||
|           Init(peer_reserved_, client_id.c_str()); |           Init(peer_reserved_, client_id.c_str()); | ||||||
|           LOG_INFO("Peer[reserved] init finish"); |           LOG_INFO("[{}] Peer init finish", client_id); | ||||||
|         } else { |         } else { | ||||||
|           LOG_INFO("Create peer[reserved] instance failed"); |           LOG_INFO("Create peer [{}] instance failed", client_id); | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -353,7 +353,7 @@ int Render::CreateConnectionPeer() { | |||||||
|     Init(peer_, client_id_); |     Init(peer_, client_id_); | ||||||
|     LOG_INFO("[{}] Peer init finish", client_id_); |     LOG_INFO("[{}] Peer init finish", client_id_); | ||||||
|   } else { |   } else { | ||||||
|     LOG_INFO("Create peer instance failed"); |     LOG_INFO("Create peer [{}] instance failed", client_id_); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   return 0; |   return 0; | ||||||
| @@ -855,12 +855,16 @@ int Render::Run() { | |||||||
|                   props->remember_password_ ? props->remote_password_ : ""); |                   props->remember_password_ ? props->remote_password_ : ""); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             LOG_INFO("[{}] Leave connection [{}]", client_id_, it.first); |  | ||||||
|             LeaveConnection(peer_reserved_ ? peer_reserved_ : peer_, |  | ||||||
|                             it.first.c_str()); |  | ||||||
|             if (peer_reserved_) { |             if (peer_reserved_) { | ||||||
|               LOG_INFO("Destroy peer[reserved]"); |               std::string client_id = "C-"; | ||||||
|  |               client_id += client_id_; | ||||||
|  |               LOG_INFO("[{}] Leave connection [{}]", client_id, it.first); | ||||||
|  |               LeaveConnection(peer_reserved_, it.first.c_str()); | ||||||
|  |               LOG_INFO("Destroy peer [{}]", client_id); | ||||||
|               DestroyPeer(&peer_reserved_); |               DestroyPeer(&peer_reserved_); | ||||||
|  |             } else { | ||||||
|  |               LOG_INFO("[{}] Leave connection [{}]", client_id_, it.first); | ||||||
|  |               LeaveConnection(peer_, it.first.c_str()); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             props->streaming_ = false; |             props->streaming_ = false; | ||||||
| @@ -1078,7 +1082,7 @@ int Render::Run() { | |||||||
|     LOG_INFO("[{}] Leave connection [{}]", client_id_, client_id_); |     LOG_INFO("[{}] Leave connection [{}]", client_id_, client_id_); | ||||||
|     LeaveConnection(peer_, client_id_); |     LeaveConnection(peer_, client_id_); | ||||||
|     is_client_mode_ = false; |     is_client_mode_ = false; | ||||||
|     LOG_INFO("Destroy peer"); |     LOG_INFO("Destroy peer [{}]", client_id_); | ||||||
|     DestroyPeer(&peer_); |     DestroyPeer(&peer_); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								thirdparty/projectx
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								thirdparty/projectx
									
									
									
									
										vendored
									
									
								
							 Submodule thirdparty/projectx updated: b50175f943...160ee9feef
									
								
							
		Reference in New Issue
	
	Block a user