diff --git a/src/hidapi/linux/hid.c b/src/hidapi/linux/hid.c index a62bcffb6..d68354fe1 100644 --- a/src/hidapi/linux/hid.c +++ b/src/hidapi/linux/hid.c @@ -159,7 +159,7 @@ static int hid_wrapper_udev_init() { // Error, close the shared library handle and finish. hid_wrapper_udev_close(); - return -1; + return -2; } // Success. diff --git a/src/slic3r/GUI/Mouse3DController.cpp b/src/slic3r/GUI/Mouse3DController.cpp index 178c52f1c..3c1ffeb3e 100644 --- a/src/slic3r/GUI/Mouse3DController.cpp +++ b/src/slic3r/GUI/Mouse3DController.cpp @@ -473,7 +473,16 @@ void Mouse3DController::run() int res = hid_init(); if (res != 0) { // Give up. - BOOST_LOG_TRIVIAL(error) << "Unable to initialize hidapi library"; +#if defined(__unix__) || defined(__unix) || defined(unix) + if (res == -1) + // Hopefully this error code comes from our bundled patched hidapi. In that case, -1 is returned by hid_wrapper_udev_init() and it mean + BOOST_LOG_TRIVIAL(error) << "Unable to initialize hidapi library: failed to load libudev.so.1 or libudev.so.0"; + else if (res == -2) + // Hopefully this error code comes from our bundled patched hidapi. In that case, -2 is returned by hid_wrapper_udev_init() and it mean + BOOST_LOG_TRIVIAL(error) << "Unable to initialize hidapi library: failed to resolve some function from libudev.so.1 or libudev.so.0"; + else +#endif // unixes + BOOST_LOG_TRIVIAL(error) << "Unable to initialize hidapi library"; return; }