diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 52368490f6..718d06c6e5 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -938,14 +938,12 @@ void Application::initializeGL() { qCDebug(interfaceapp) << "Created Display Window."; // initialize glut for shape drawing; Qt apparently initializes it on OS X - #ifndef __APPLE__ - static bool isInitialized = false; - if (isInitialized) { + if (_isGLInitialized) { return; } else { - isInitialized = true; + _isGLInitialized = true; } - #endif + // Where the gpuContext is initialized and where the TRUE Backend is created and assigned gpu::Context::init(); _gpuContext = std::make_shared(); @@ -1057,7 +1055,9 @@ void Application::paintGL() { _lastFramesPerSecondUpdate = now; } - idle(now); + if (_isGLInitialized) { + idle(now); + } PROFILE_RANGE(__FUNCTION__); PerformanceTimer perfTimer("paintGL"); diff --git a/interface/src/Application.h b/interface/src/Application.h index 212687c11e..39e3879707 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -414,7 +414,7 @@ private: bool _dependencyManagerIsSetup; - OffscreenGlCanvas* _offscreenContext; + OffscreenGlCanvas* _offscreenContext { nullptr }; DisplayPluginPointer _displayPlugin; InputPluginList _activeInputPlugins; @@ -548,6 +548,7 @@ private: quint64 _lastSimsPerSecondUpdate = 0; bool _isForeground = true; // starts out assumed to be in foreground bool _inPaint = false; + bool _isGLInitialized { false }; }; #endif // hifi_Application_h diff --git a/libraries/animation/src/AvatarRig.cpp b/libraries/animation/src/AvatarRig.cpp index 4dbf5207b1..b72e15a0ce 100644 --- a/libraries/animation/src/AvatarRig.cpp +++ b/libraries/animation/src/AvatarRig.cpp @@ -13,7 +13,7 @@ /// Updates the state of the joint at the specified index. void AvatarRig::updateJointState(int index, glm::mat4 rootTransform) { - if (index < 0 && index >= _jointStates.size()) { + if (index < 0 || index >= _jointStates.size()) { return; // bail } JointState& state = _jointStates[index]; diff --git a/libraries/input-plugins/src/input-plugins/SpacemouseManager.cpp b/libraries/input-plugins/src/input-plugins/SpacemouseManager.cpp index 9c1307a18e..43e6ee48a8 100644 --- a/libraries/input-plugins/src/input-plugins/SpacemouseManager.cpp +++ b/libraries/input-plugins/src/input-plugins/SpacemouseManager.cpp @@ -130,6 +130,9 @@ void SpacemouseManager::ManagerFocusOutEvent() { instance->focusOutEvent(); } +void SpacemouseManager::init() { +} + #ifdef HAVE_3DCONNEXIONCLIENT #ifdef Q_OS_WIN diff --git a/libraries/input-plugins/src/input-plugins/SpacemouseManager.h b/libraries/input-plugins/src/input-plugins/SpacemouseManager.h index 26e0155825..08ac954c94 100644 --- a/libraries/input-plugins/src/input-plugins/SpacemouseManager.h +++ b/libraries/input-plugins/src/input-plugins/SpacemouseManager.h @@ -11,8 +11,6 @@ #ifndef hifi_SpacemouseManager_h #define hifi_SpacemouseManager_h -#define HAVE_3DCONNEXIONCLIENT - #include #include #include @@ -27,7 +25,7 @@ class SpacemouseManager : public QObject { public: static SpacemouseManager& getInstance(); void ManagerFocusOutEvent(); - void init() {}; + void init(); void destroy() {}; bool Is3dmouseAttached() { return false; }; public slots: @@ -230,4 +228,4 @@ public: void handleAxisEvent(); }; -#endif // defined(hifi_SpacemouseManager_h) \ No newline at end of file +#endif // defined(hifi_SpacemouseManager_h)