From 870ad71f9905d6d3e7c0d12b7858142848d513f9 Mon Sep 17 00:00:00 2001 From: wmayer Date: Fri, 5 Apr 2019 17:42:53 +0200 Subject: [PATCH] fixes 0003913: libspnav crash on linux wayland during startup --- src/Gui/3Dconnexion/GuiNativeEventLinuxX11.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Gui/3Dconnexion/GuiNativeEventLinuxX11.cpp b/src/Gui/3Dconnexion/GuiNativeEventLinuxX11.cpp index 53205be86fe7..900432d4db01 100644 --- a/src/Gui/3Dconnexion/GuiNativeEventLinuxX11.cpp +++ b/src/Gui/3Dconnexion/GuiNativeEventLinuxX11.cpp @@ -66,15 +66,21 @@ Gui::GuiNativeEvent::~GuiNativeEvent() void Gui::GuiNativeEvent::initSpaceball(QMainWindow *window) { +#if QT_VERSION >= 0x050200 + if (!QX11Info::isPlatformX11()) { + Base::Console().Log("Application is not running on X11\n"); + return; + } +#endif if (spnav_x11_open(QX11Info::display(), window->winId()) == -1) { Base::Console().Log("Couldn't connect to spacenav daemon\n"); } else { Base::Console().Log("Connected to spacenav daemon\n"); - mainApp->setSpaceballPresent(true); + mainApp->setSpaceballPresent(true); - #if QT_VERSION >= 0x050000 +#if QT_VERSION >= 0x050000 mainApp->installNativeEventFilter(new Gui::RawInputEventFilter(&xcbEventFilter)); - #endif // #if QT_VERSION >= 0x050000 +#endif // #if QT_VERSION >= 0x050000 } }