From 0d9f48c5aae2c340e8b1c4fadb42c331ae9486f6 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 --- 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 617bd5e22..471f26693 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -2057,10 +2057,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); } }