Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbubnikv <bubnikv@gmail.com>2020-03-09 12:36:55 +0300
committerbubnikv <bubnikv@gmail.com>2020-03-09 12:36:55 +0300
commitec75b760b8e7277ed90f0e4cd7113190db4607bf (patch)
tree41bcf19c3fd29db9555652a621ecc61bdc4f920d /src/slic3r/GUI/Mouse3DController.cpp
parent6723b5f3cd2dd164971594d249682a3a11b8925a (diff)
Fix of saving the 3DConnexion status on OSX.
Fixes 2.2.0 RC2 - 3Dconnexion settings not saved / Zoom digital (#3791)
Diffstat (limited to 'src/slic3r/GUI/Mouse3DController.cpp')
-rw-r--r--src/slic3r/GUI/Mouse3DController.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/slic3r/GUI/Mouse3DController.cpp b/src/slic3r/GUI/Mouse3DController.cpp
index 8bc9744f1..0cd39b092 100644
--- a/src/slic3r/GUI/Mouse3DController.cpp
+++ b/src/slic3r/GUI/Mouse3DController.cpp
@@ -368,6 +368,8 @@ void Mouse3DController::render_settings_dialog(GLCanvas3D& canvas) const
void Mouse3DController::connected(std::string device_name)
{
+ assert(! m_connected);
+ assert(m_device_str.empty());
m_device_str = device_name;
// Copy the parameters for m_device_str into the current parameters.
if (auto it_params = m_params_by_device.find(m_device_str); it_params != m_params_by_device.end()) {
@@ -380,13 +382,13 @@ void Mouse3DController::connected(std::string device_name)
void Mouse3DController::disconnected()
{
// Copy the current parameters for m_device_str into the parameter database.
- assert(! m_device_str.empty());
- if (! m_device_str.empty()) {
+ assert(m_connected == ! m_device_str.empty());
+ if (m_connected) {
tbb::mutex::scoped_lock lock(m_params_ui_mutex);
m_params_by_device[m_device_str] = m_params_ui;
+ m_device_str.clear();
+ m_connected = false;
}
- m_device_str.clear();
- m_connected = false;
}
bool Mouse3DController::handle_input(const DataPacketAxis& packet)