vpnconnection.cpp crash fix

ss server sript fix
This commit is contained in:
pokamest 2021-02-25 18:05:42 +03:00
parent 7dc1f1e225
commit 65961d8d2e
5 changed files with 44 additions and 20 deletions

View file

@ -116,10 +116,11 @@ ErrorCode VpnConnection::connectToVpn(const ServerCredentials &credentials, Prot
if (m_vpnProtocol) {
disconnect(m_vpnProtocol.data(), &VpnProtocol::protocolError, this, &VpnConnection::vpnProtocolError);
m_vpnProtocol->stop();
m_vpnProtocol->deleteLater();
m_vpnProtocol.reset();
//m_vpnProtocol->deleteLater();
}
qApp->processEvents();
//qApp->processEvents();
if (protocol == Protocol::Any || protocol == Protocol::OpenVpn) {
ErrorCode e = createVpnConfiguration(credentials, Protocol::OpenVpn);
@ -143,6 +144,11 @@ ErrorCode VpnConnection::connectToVpn(const ServerCredentials &credentials, Prot
}
m_vpnProtocol.reset(new ShadowSocksVpnProtocol(m_vpnConfiguration));
e = static_cast<OpenVpnProtocol *>(m_vpnProtocol.data())->checkAndSetupTapDriver();
if (e) {
emit connectionStateChanged(VpnProtocol::ConnectionState::Error);
return e;
}
}
connect(m_vpnProtocol.data(), &VpnProtocol::protocolError, this, &VpnConnection::vpnProtocolError);