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:
authorEnrico Turri <enricoturri@seznam.cz>2019-11-25 12:34:42 +0300
committerEnrico Turri <enricoturri@seznam.cz>2019-11-25 12:34:42 +0300
commitab00f501f1363802282986ea9ab86d2e305bc24d (patch)
treeafb1a151f3c51f13d36e7f647d1b0cad725d09e4 /src/slic3r/GUI/Mouse3DController.cpp
parentb1047d2e265405eeee59382da2ad2edf7c329f54 (diff)
#3230 - Detection of 3Dconnexion devices every 2 seconds
Diffstat (limited to 'src/slic3r/GUI/Mouse3DController.cpp')
-rw-r--r--src/slic3r/GUI/Mouse3DController.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/slic3r/GUI/Mouse3DController.cpp b/src/slic3r/GUI/Mouse3DController.cpp
index 44bc0fd34..39542e652 100644
--- a/src/slic3r/GUI/Mouse3DController.cpp
+++ b/src/slic3r/GUI/Mouse3DController.cpp
@@ -186,6 +186,7 @@ Mouse3DController::Mouse3DController()
, m_running(false)
, m_settings_dialog(false)
{
+ m_last_time = std::chrono::high_resolution_clock::now();
}
void Mouse3DController::init()
@@ -332,9 +333,18 @@ void Mouse3DController::render_settings_dialog(unsigned int canvas_width, unsign
bool Mouse3DController::connect_device()
{
+ static const long long DETECTION_TIME = 2; // seconds
+
if (is_device_connected())
return false;
+ // check time since last detection took place
+ auto now = std::chrono::high_resolution_clock::now();
+ if (std::chrono::duration_cast<std::chrono::seconds>(now - m_last_time).count() < DETECTION_TIME)
+ return false;
+
+ m_last_time = now;
+
// Enumerates devices
hid_device_info* devices = hid_enumerate(0, 0);
if (devices == nullptr)