From 12c91f4283c01ba7f18ef02de29e653e5e26c846 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 4 Mar 2019 10:44:40 +0100 Subject: [PATCH 1/4] Removed reset of gcode preview from schedule_background_process() --- src/slic3r/GUI/Plater.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 7a41e06e5..87b41c238 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1997,9 +1997,6 @@ void Plater::priv::schedule_background_process() this->background_process_timer.Start(500, wxTIMER_ONE_SHOT); // Notify the Canvas3D that something has changed, so it may invalidate some of the layer editing stuff. this->view3D->get_canvas3d()->set_config(this->config); - // Reset gcode preview - this->preview->get_canvas3d()->reset_volumes(); - this->preview->get_canvas3d()->reset_legend_texture(); } void Plater::priv::update_print_volume_state() From 06c2b4bdf3d2b5968df38f4d359504d74c5eb1a0 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 4 Mar 2019 11:00:52 +0100 Subject: [PATCH 2/4] Allow to drag object's subparts once selected using the sidebar table --- src/slic3r/GUI/GLCanvas3D.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index b51662325..29d72687b 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -896,7 +896,11 @@ void GLCanvas3D::Selection::add(unsigned int volume_idx, bool as_single_selectio if (needs_reset) clear(); - m_mode = volume->is_modifier ? Volume : Instance; + if (volume->is_modifier) + m_mode = Volume; + else if (!contains_volume(volume_idx)) + m_mode = Instance; + // else -> keep current mode switch (m_mode) { From 8050b93bf9af751de19103038bb90cb60c99fcf5 Mon Sep 17 00:00:00 2001 From: Maeyanie Date: Sat, 2 Mar 2019 01:40:24 -0500 Subject: [PATCH 3/4] Fix compile error At least on my system (Fedora 28) gcc gave a compile error for std::vector being used here despite being undefined. Adding the appropriate include fixes the problem, and seems unlikely to cause any other problems. --- src/slic3r/GUI/KBShortcutsDialog.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/slic3r/GUI/KBShortcutsDialog.hpp b/src/slic3r/GUI/KBShortcutsDialog.hpp index c5f60f0b8..d8905e1ce 100644 --- a/src/slic3r/GUI/KBShortcutsDialog.hpp +++ b/src/slic3r/GUI/KBShortcutsDialog.hpp @@ -3,6 +3,7 @@ #include #include +#include namespace Slic3r { namespace GUI { From 4b134b29e63bc8951136bc342b7a1d868fdb77c2 Mon Sep 17 00:00:00 2001 From: Maeyanie Date: Sat, 2 Mar 2019 01:45:20 -0500 Subject: [PATCH 4/4] Fix compile error, part 2 Another undefined use of std::vector --- src/slic3r/GUI/GUI_ObjectSettings.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/slic3r/GUI/GUI_ObjectSettings.hpp b/src/slic3r/GUI/GUI_ObjectSettings.hpp index 3e72713bf..12115e208 100644 --- a/src/slic3r/GUI/GUI_ObjectSettings.hpp +++ b/src/slic3r/GUI/GUI_ObjectSettings.hpp @@ -2,6 +2,7 @@ #define slic3r_GUI_ObjectSettings_hpp_ #include +#include #include class wxBoxSizer;