diff --git a/pglab/QueryTool.cpp b/pglab/QueryTool.cpp index a952a1b..8c66760 100644 --- a/pglab/QueryTool.cpp +++ b/pglab/QueryTool.cpp @@ -307,6 +307,9 @@ void QueryTool::connectionStateChanged(ASyncDBConnection::State state) QString iconname; switch (state) { case ASyncDBConnection::State::NotConnected: + startConnect(); + iconname = "red.png"; + break; case ASyncDBConnection::State::Connecting: iconname = "red.png"; break; diff --git a/pglablib/ASyncDBConnection.cpp b/pglablib/ASyncDBConnection.cpp index 2367595..d518ab7 100644 --- a/pglablib/ASyncDBConnection.cpp +++ b/pglablib/ASyncDBConnection.cpp @@ -465,6 +465,8 @@ void ASyncDBConnection::setupConnection(const ConnectionConfig &config) m_threadData->stop(); m_thread.join(); } + + m_threadData.reset(new ASyncDBConnectionThread(this)); m_threadData->m_config = config; m_thread = std::thread([this] () { m_threadData->run(); });