From 7a8251b62677b47baa0c9d0e9eb29ded3de0a95f Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 8 Jan 2020 12:30:42 +0100 Subject: [PATCH] Attempt to fix #3479 --- src/slic3r/GUI/Mouse3DController.cpp | 15 +++++++++------ src/slic3r/GUI/Mouse3DController.hpp | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/slic3r/GUI/Mouse3DController.cpp b/src/slic3r/GUI/Mouse3DController.cpp index 38432d0d3..8485c4b27 100644 --- a/src/slic3r/GUI/Mouse3DController.cpp +++ b/src/slic3r/GUI/Mouse3DController.cpp @@ -631,13 +631,16 @@ bool Mouse3DController::connect_device() if (m_device != nullptr) { - std::vector manufacturer(1024, 0); - hid_get_manufacturer_string(m_device, manufacturer.data(), 1024); - m_device_str = boost::nowide::narrow(manufacturer.data()); + wchar_t buffer[1024]; + hid_get_manufacturer_string(m_device, buffer, 1024); + m_device_str = boost::nowide::narrow(buffer); + // #3479 seems to show that sometimes an extra whitespace is added, so we remove it + boost::algorithm::trim(m_device_str); - std::vector product(1024, 0); - hid_get_product_string(m_device, product.data(), 1024); - m_device_str += "/" + boost::nowide::narrow(product.data()); + hid_get_product_string(m_device, buffer, 1024); + m_device_str += "/" + boost::nowide::narrow(buffer); + // #3479 seems to show that sometimes an extra whitespace is added, so we remove it + boost::algorithm::trim(m_device_str); BOOST_LOG_TRIVIAL(info) << "Connected 3DConnexion device:"; BOOST_LOG_TRIVIAL(info) << "Manufacturer/product: " << m_device_str; diff --git a/src/slic3r/GUI/Mouse3DController.hpp b/src/slic3r/GUI/Mouse3DController.hpp index 3598d7df7..1cddf254b 100644 --- a/src/slic3r/GUI/Mouse3DController.hpp +++ b/src/slic3r/GUI/Mouse3DController.hpp @@ -68,7 +68,7 @@ class Mouse3DController CustomParameters m_translation_params; CustomParameters m_rotation_params; #if ENABLE_3DCONNEXION_Y_AS_ZOOM - CustomParameters m_zoom_params; + CustomParameters m_zoom_params; #endif // ENABLE_3DCONNEXION_Y_AS_ZOOM // When the 3Dconnexion driver is running the system gets, by default, mouse wheel events when rotations around the X axis are detected.