From d8f86e85efb5c6efe9b71d07ec8fe9b480124c5b Mon Sep 17 00:00:00 2001 From: tao wang Date: Thu, 15 May 2025 21:27:45 +0800 Subject: [PATCH] FIX:fixed the issue of using the wrong tunnel after reconnrction jira:[none] Change-Id: Ief1e79a753b051e859697b523eb1ba230f154ae2 (cherry picked from commit 0d9f48c5aae2c340e8b1c4fadb42c331ae9486f6) --- src/slic3r/GUI/GUI_App.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 6350f8937c..aa3d103db8 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -1683,10 +1683,25 @@ void GUI_App::init_networking_callbacks() //subscribe device if (m_agent->is_user_login()) { m_agent->start_device_subscribe(); + + /*disconnect lan*/ + DeviceManager* dev = this->getDeviceManager(); + if (!dev) return; + + MachineObject *obj = dev->get_selected_machine(); + if (!obj) return; + + if (obj->nt_try_local_tunnel && obj->connection_type() == "cloud") { + if (obj->is_connected()) { + obj->disconnect(); + } + obj->nt_reset_data(); + } + /* resubscribe the cache dev list */ if (this->is_enable_multi_machine()) { - DeviceManager* dev = this->getDeviceManager(); - if (dev && !dev->subscribe_list_cache.empty()) { + + if (!dev->subscribe_list_cache.empty()) { dev->subscribe_device_list(dev->subscribe_list_cache); } }