diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 4ca0eedd2a..f394a5c653 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -1948,8 +1948,9 @@ void GUI_App::init_networking_callbacks() } } } - event.SetEventObject(this); - wxPostEvent(this, event); + if (wxGetApp().plater()->get_select_machine_dialog()) { + wxPostEvent(wxGetApp().plater()->get_select_machine_dialog(), event); + } }); } ); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index ea0962a640..cc46717b6e 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -11143,6 +11143,11 @@ std::vector Plater::get_colors_for_color_print(const GCodeProcessor return colors; } +wxWindow* Plater::get_select_machine_dialog() +{ + return p->m_select_machine_dlg; +} + void Plater::update_print_error_info(int code, std::string msg, std::string extra) { if (p->m_select_machine_dlg) { diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index 89bc1163e0..0471c88949 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -429,6 +429,7 @@ public: GLCanvas3D* get_view3D_canvas3D(); GLCanvas3D* get_preview_canvas3D(); GLCanvas3D* get_assmeble_canvas3D(); + wxWindow* get_select_machine_dialog(); void arrange(); void orient(); diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index e5b7610a84..9d67c4d697 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -1405,7 +1405,7 @@ void SelectMachineDialog::init_bind() m_bitmap_next_plate->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {SetCursor(wxCURSOR_ARROW); }); - wxGetApp().Bind(EVT_CONNECT_LAN_MODE_PRINT, [this](wxCommandEvent& e) { + Bind(EVT_CONNECT_LAN_MODE_PRINT, [this](wxCommandEvent& e) { if (e.GetInt() == 0) { DeviceManager* dev = Slic3r::GUI::wxGetApp().getDeviceManager(); if (!dev) return;