From f9747d8a446e819bbfca457d39e6ae1e695879b3 Mon Sep 17 00:00:00 2001 From: humbletim Date: Tue, 1 Nov 2016 11:46:09 -0400 Subject: [PATCH 01/17] match requested hash key url when populating batch-loaded script contents --- libraries/script-engine/src/BatchLoader.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libraries/script-engine/src/BatchLoader.cpp b/libraries/script-engine/src/BatchLoader.cpp index 964807894e..43cc4e8e62 100644 --- a/libraries/script-engine/src/BatchLoader.cpp +++ b/libraries/script-engine/src/BatchLoader.cpp @@ -44,7 +44,6 @@ void BatchLoader::start() { return; } - for (const auto& rawURL : _urls) { QUrl url = expandScriptUrl(normalizeScriptURL(rawURL)); @@ -57,12 +56,12 @@ void BatchLoader::start() { // anything. ScriptCacheSignalProxy* proxy = new ScriptCacheSignalProxy(scriptCache.data()); - connect(proxy, &ScriptCacheSignalProxy::contentAvailable, this, [this](const QString& url, const QString& contents, bool isURL, bool success) { + connect(proxy, &ScriptCacheSignalProxy::contentAvailable, this, [this, rawURL](const QString& url, const QString& contents, bool isURL, bool success) { if (isURL && success) { - _data.insert(url, contents); + _data.insert(rawURL, contents); qCDebug(scriptengine) << "Loaded: " << url; } else { - _data.insert(url, QString()); + _data.insert(rawURL, QString()); qCDebug(scriptengine) << "Could not load: " << url; } From d749f243c669f9a3f5f1c36c42bb552b528f5975 Mon Sep 17 00:00:00 2001 From: humbletim Date: Wed, 2 Nov 2016 14:58:50 -0400 Subject: [PATCH 02/17] revert f9747d8a (rawURL) + apply alternative approach for aligning batch-loaded script URLs --- libraries/script-engine/src/BatchLoader.cpp | 7 ++++--- libraries/script-engine/src/ScriptEngine.cpp | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/libraries/script-engine/src/BatchLoader.cpp b/libraries/script-engine/src/BatchLoader.cpp index 43cc4e8e62..964807894e 100644 --- a/libraries/script-engine/src/BatchLoader.cpp +++ b/libraries/script-engine/src/BatchLoader.cpp @@ -44,6 +44,7 @@ void BatchLoader::start() { return; } + for (const auto& rawURL : _urls) { QUrl url = expandScriptUrl(normalizeScriptURL(rawURL)); @@ -56,12 +57,12 @@ void BatchLoader::start() { // anything. ScriptCacheSignalProxy* proxy = new ScriptCacheSignalProxy(scriptCache.data()); - connect(proxy, &ScriptCacheSignalProxy::contentAvailable, this, [this, rawURL](const QString& url, const QString& contents, bool isURL, bool success) { + connect(proxy, &ScriptCacheSignalProxy::contentAvailable, this, [this](const QString& url, const QString& contents, bool isURL, bool success) { if (isURL && success) { - _data.insert(rawURL, contents); + _data.insert(url, contents); qCDebug(scriptengine) << "Loaded: " << url; } else { - _data.insert(rawURL, QString()); + _data.insert(url, QString()); qCDebug(scriptengine) << "Could not load: " << url; } diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 776c7cfec6..d3b5f6576c 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -1187,6 +1187,8 @@ void ScriptEngine::include(const QStringList& includeFiles, QScriptValue callbac thisURL = resolvePath(file); } + thisURL = expandScriptUrl(normalizeScriptURL(ResourceManager::normalizeURL(thisURL))); + if (!_includedURLs.contains(thisURL)) { if (!isStandardLibrary && !currentSandboxURL.isEmpty() && (thisURL.scheme() == "file") && (currentSandboxURL.scheme() != "file" || From 620fd3713c367e6a7efcf9342744823c4aef88a6 Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Fri, 4 Nov 2016 17:09:25 -0700 Subject: [PATCH 03/17] Add color support to debug draw marker rendering --- libraries/render-utils/src/AnimDebugDraw.cpp | 29 ++++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/libraries/render-utils/src/AnimDebugDraw.cpp b/libraries/render-utils/src/AnimDebugDraw.cpp index 80ba9cd1b2..bb0d5dbfab 100644 --- a/libraries/render-utils/src/AnimDebugDraw.cpp +++ b/libraries/render-utils/src/AnimDebugDraw.cpp @@ -121,7 +121,7 @@ AnimDebugDraw::AnimDebugDraw() : // HACK: add red, green and blue axis at (1,1,1) _animDebugDrawData->_vertexBuffer->resize(sizeof(AnimDebugDrawData::Vertex) * 6); - + static std::vector vertices({ AnimDebugDrawData::Vertex { glm::vec3(1.0, 1.0f, 1.0f), toRGBA(255, 0, 0, 255) }, AnimDebugDrawData::Vertex { glm::vec3(2.0, 1.0f, 1.0f), toRGBA(255, 0, 0, 255) }, @@ -162,9 +162,10 @@ static const uint32_t blue = toRGBA(0, 0, 255, 255); const int NUM_CIRCLE_SLICES = 24; -static void addBone(const AnimPose& rootPose, const AnimPose& pose, float radius, AnimDebugDrawData::Vertex*& v) { +static void addBone(const AnimPose& rootPose, const AnimPose& pose, float radius, glm::vec4& vecColor, AnimDebugDrawData::Vertex*& v) { const float XYZ_AXIS_LENGTH = radius * 4.0f; + const uint32_t color = toRGBA(vecColor); AnimPose finalPose = rootPose * pose; glm::vec3 base = rootPose * pose.trans; @@ -192,10 +193,10 @@ static void addBone(const AnimPose& rootPose, const AnimPose& pose, float radius // x-ring for (int i = 0; i < NUM_CIRCLE_SLICES; i++) { v->pos = xRing[i]; - v->rgba = red; + v->rgba = color; v++; v->pos = xRing[i + 1]; - v->rgba = red; + v->rgba = color; v++; } @@ -210,10 +211,10 @@ static void addBone(const AnimPose& rootPose, const AnimPose& pose, float radius // y-ring for (int i = 0; i < NUM_CIRCLE_SLICES; i++) { v->pos = yRing[i]; - v->rgba = green; + v->rgba = color; v++; v->pos = yRing[i + 1]; - v->rgba = green; + v->rgba = color; v++; } @@ -228,10 +229,10 @@ static void addBone(const AnimPose& rootPose, const AnimPose& pose, float radius // z-ring for (int i = 0; i < NUM_CIRCLE_SLICES; i++) { v->pos = zRing[i]; - v->rgba = blue; + v->rgba = color; v++; v->pos = zRing[i + 1]; - v->rgba = blue; + v->rgba = color; v++; } } @@ -367,7 +368,7 @@ void AnimDebugDraw::update() { const float radius = BONE_RADIUS / (absPoses[i].scale.x * rootPose.scale.x); // draw bone - addBone(rootPose, absPoses[i], radius, v); + addBone(rootPose, absPoses[i], radius, color, v); // draw link to parent auto parentIndex = skeleton->getParentIndex(i); @@ -382,20 +383,18 @@ void AnimDebugDraw::update() { for (auto& iter : markerMap) { glm::quat rot = std::get<0>(iter.second); glm::vec3 pos = std::get<1>(iter.second); - glm::vec4 color = std::get<2>(iter.second); // TODO: currently ignored. - Q_UNUSED(color); + glm::vec4 color = std::get<2>(iter.second); const float radius = POSE_RADIUS; - addBone(AnimPose::identity, AnimPose(glm::vec3(1), rot, pos), radius, v); + addBone(AnimPose::identity, AnimPose(glm::vec3(1), rot, pos), radius, color, v); } AnimPose myAvatarPose(glm::vec3(1), DebugDraw::getInstance().getMyAvatarRot(), DebugDraw::getInstance().getMyAvatarPos()); for (auto& iter : myAvatarMarkerMap) { glm::quat rot = std::get<0>(iter.second); glm::vec3 pos = std::get<1>(iter.second); - glm::vec4 color = std::get<2>(iter.second); // TODO: currently ignored. - Q_UNUSED(color); + glm::vec4 color = std::get<2>(iter.second); const float radius = POSE_RADIUS; - addBone(myAvatarPose, AnimPose(glm::vec3(1), rot, pos), radius, v); + addBone(myAvatarPose, AnimPose(glm::vec3(1), rot, pos), radius, color, v); } // draw rays from shared DebugDraw singleton From 28eadc149f791a7d8a2de676a874a561003a3246 Mon Sep 17 00:00:00 2001 From: humbletim Date: Sun, 6 Nov 2016 16:08:42 -0500 Subject: [PATCH 04/17] switch to apply normalizeURL only and move to top of for loop --- libraries/script-engine/src/ScriptEngine.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index d3b5f6576c..0becf6a8dd 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -1172,7 +1172,8 @@ void ScriptEngine::include(const QStringList& includeFiles, QScriptValue callbac // Guard against meaningless query and fragment parts. // Do NOT use PreferLocalFile as its behavior is unpredictable (e.g., on defaultScriptsLocation()) const auto strippingFlags = QUrl::RemoveFilename | QUrl::RemoveQuery | QUrl::RemoveFragment; - for (QString file : includeFiles) { + for (QString includeFile : includeFiles) { + QString file = ResourceManager::normalizeURL(includeFile); QUrl thisURL; bool isStandardLibrary = false; if (file.startsWith("/~/")) { @@ -1187,8 +1188,6 @@ void ScriptEngine::include(const QStringList& includeFiles, QScriptValue callbac thisURL = resolvePath(file); } - thisURL = expandScriptUrl(normalizeScriptURL(ResourceManager::normalizeURL(thisURL))); - if (!_includedURLs.contains(thisURL)) { if (!isStandardLibrary && !currentSandboxURL.isEmpty() && (thisURL.scheme() == "file") && (currentSandboxURL.scheme() != "file" || From 92836caf57bbdd16225748ac5a2aef504293948e Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sat, 12 Nov 2016 10:01:29 -0800 Subject: [PATCH 05/17] when creating plugins on Linux with memory-debugging enabled, use asan flags such that the shared libraries can be loaded --- cmake/macros/MemoryDebugger.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/macros/MemoryDebugger.cmake b/cmake/macros/MemoryDebugger.cmake index 7808812493..6df41257f2 100644 --- a/cmake/macros/MemoryDebugger.cmake +++ b/cmake/macros/MemoryDebugger.cmake @@ -16,6 +16,7 @@ if (HIFI_MEMORY_DEBUGGING) if (UNIX) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -U_FORTIFY_SOURCE -fno-stack-protector -fno-omit-frame-pointer") SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libasan -static-libstdc++ -fsanitize=address") + SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libasan -static-libstdc++ -fsanitize=address") endif (UNIX) endif () endmacro(SETUP_MEMORY_DEBUGGER) From 804f25740d2799fe3d9ffa2de3c05de881a488dc Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sun, 13 Nov 2016 10:21:27 -0800 Subject: [PATCH 06/17] these qDebugs happen too late and cause a crash --- .../src/display-plugins/OpenGLDisplayPlugin.cpp | 2 +- libraries/gpu-gl/src/gpu/gl45/GL45BackendTexture.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp index c84f6b9954..90100d93c0 100644 --- a/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp +++ b/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp @@ -758,7 +758,7 @@ void OpenGLDisplayPlugin::render(std::function f) { OpenGLDisplayPlugin::~OpenGLDisplayPlugin() { - qDebug() << "Destroying OpenGLDisplayPlugin"; + // qDebug() << "Destroying OpenGLDisplayPlugin"; } void OpenGLDisplayPlugin::updateCompositeFramebuffer() { diff --git a/libraries/gpu-gl/src/gpu/gl45/GL45BackendTexture.cpp b/libraries/gpu-gl/src/gpu/gl45/GL45BackendTexture.cpp index fca809186f..0516bc6be0 100644 --- a/libraries/gpu-gl/src/gpu/gl45/GL45BackendTexture.cpp +++ b/libraries/gpu-gl/src/gpu/gl45/GL45BackendTexture.cpp @@ -285,10 +285,10 @@ GL45Texture::GL45Texture(const std::weak_ptr& backend, const Texture& } GL45Texture::~GL45Texture() { - // External textures cycle very quickly, so don't spam the log with messages about them. - if (!_gpuObject.getUsage().isExternal()) { - qCDebug(gpugl45logging) << "Destroying texture " << _id << " from source " << _source.c_str(); - } + // // External textures cycle very quickly, so don't spam the log with messages about them. + // if (!_gpuObject.getUsage().isExternal()) { + // qCDebug(gpugl45logging) << "Destroying texture " << _id << " from source " << _source.c_str(); + // } // Remove this texture from the candidate list of derezzable textures if (_transferrable) { From 9868ddd6029d69d5846e17bc6497ecd830c59f2e Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sun, 13 Nov 2016 10:22:14 -0800 Subject: [PATCH 07/17] global/static QStrings in plugins appear to cause crashes during shutdown --- .../Basic2DWindowOpenGLDisplayPlugin.h | 2 +- .../src/display-plugins/NullDisplayPlugin.h | 2 +- .../display-plugins/hmd/DebugHmdDisplayPlugin.h | 2 +- .../stereo/InterleavedStereoDisplayPlugin.h | 2 +- .../stereo/SideBySideStereoDisplayPlugin.h | 2 +- .../src/input-plugins/KeyboardMouseDevice.cpp | 2 +- .../src/input-plugins/KeyboardMouseDevice.h | 10 +++++----- .../src/input-plugins/TouchscreenDevice.cpp | 2 +- .../src/input-plugins/TouchscreenDevice.h | 8 ++++---- libraries/plugins/src/plugins/Plugin.cpp | 2 +- libraries/plugins/src/plugins/Plugin.h | 8 ++++---- libraries/shared/src/shared/Factory.h | 6 +++--- plugins/hifiCodec/src/HiFiCodec.cpp | 2 +- plugins/hifiCodec/src/HiFiCodec.h | 6 +++--- plugins/hifiSdl2/src/Joystick.h | 2 +- plugins/hifiSdl2/src/SDL2Manager.cpp | 2 +- plugins/hifiSdl2/src/SDL2Manager.h | 16 ++++++++-------- plugins/hifiSixense/src/SixenseManager.cpp | 16 ++++++++-------- plugins/hifiSixense/src/SixenseManager.h | 8 ++++---- plugins/pcmCodec/src/PCMCodecManager.cpp | 4 ++-- plugins/pcmCodec/src/PCMCodecManager.h | 10 +++++----- 21 files changed, 57 insertions(+), 57 deletions(-) diff --git a/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.h b/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.h index 2e4e57e15a..f3dd50602c 100644 --- a/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.h +++ b/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.h @@ -18,7 +18,7 @@ class Basic2DWindowOpenGLDisplayPlugin : public OpenGLDisplayPlugin { Q_OBJECT using Parent = OpenGLDisplayPlugin; public: - virtual const QString& getName() const override { return NAME; } + virtual const QString getName() const override { return NAME; } virtual float getTargetFrameRate() const override { return _framerateTarget ? (float) _framerateTarget : TARGET_FRAMERATE_Basic2DWindowOpenGL; } diff --git a/libraries/display-plugins/src/display-plugins/NullDisplayPlugin.h b/libraries/display-plugins/src/display-plugins/NullDisplayPlugin.h index 1852ed53ee..1da0441d8f 100644 --- a/libraries/display-plugins/src/display-plugins/NullDisplayPlugin.h +++ b/libraries/display-plugins/src/display-plugins/NullDisplayPlugin.h @@ -12,7 +12,7 @@ class NullDisplayPlugin : public DisplayPlugin { public: ~NullDisplayPlugin() final {} - const QString& getName() const override { return NAME; } + const QString getName() const override { return NAME; } grouping getGrouping() const override { return DEVELOPER; } glm::uvec2 getRecommendedRenderSize() const override; diff --git a/libraries/display-plugins/src/display-plugins/hmd/DebugHmdDisplayPlugin.h b/libraries/display-plugins/src/display-plugins/hmd/DebugHmdDisplayPlugin.h index 509e13eda7..9bb82b1836 100644 --- a/libraries/display-plugins/src/display-plugins/hmd/DebugHmdDisplayPlugin.h +++ b/libraries/display-plugins/src/display-plugins/hmd/DebugHmdDisplayPlugin.h @@ -13,7 +13,7 @@ class DebugHmdDisplayPlugin : public HmdDisplayPlugin { using Parent = HmdDisplayPlugin; public: - const QString& getName() const override { return NAME; } + const QString getName() const override { return NAME; } grouping getGrouping() const override { return DEVELOPER; } bool isSupported() const override; diff --git a/libraries/display-plugins/src/display-plugins/stereo/InterleavedStereoDisplayPlugin.h b/libraries/display-plugins/src/display-plugins/stereo/InterleavedStereoDisplayPlugin.h index 8c3ebcaa6d..debd340f24 100644 --- a/libraries/display-plugins/src/display-plugins/stereo/InterleavedStereoDisplayPlugin.h +++ b/libraries/display-plugins/src/display-plugins/stereo/InterleavedStereoDisplayPlugin.h @@ -13,7 +13,7 @@ class InterleavedStereoDisplayPlugin : public StereoDisplayPlugin { Q_OBJECT using Parent = StereoDisplayPlugin; public: - const QString& getName() const override { return NAME; } + const QString getName() const override { return NAME; } grouping getGrouping() const override { return ADVANCED; } glm::uvec2 getRecommendedRenderSize() const override; diff --git a/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.h b/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.h index d4d20243ea..79bf2a9ecb 100644 --- a/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.h +++ b/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.h @@ -15,7 +15,7 @@ class SideBySideStereoDisplayPlugin : public StereoDisplayPlugin { Q_OBJECT using Parent = StereoDisplayPlugin; public: - virtual const QString& getName() const override { return NAME; } + virtual const QString getName() const override { return NAME; } virtual grouping getGrouping() const override { return ADVANCED; } virtual glm::uvec2 getRecommendedRenderSize() const override; diff --git a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp index c1f764f5fa..39371cc3e3 100755 --- a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp +++ b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp @@ -18,7 +18,7 @@ #include #include -const QString KeyboardMouseDevice::NAME = "Keyboard/Mouse"; +const char* KeyboardMouseDevice::NAME = "Keyboard/Mouse"; bool KeyboardMouseDevice::_enableTouch = true; void KeyboardMouseDevice::pluginUpdate(float deltaTime, const controller::InputCalibrationData& inputCalibrationData) { diff --git a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.h b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.h index 8177c9bcc0..399ca4e93d 100644 --- a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.h +++ b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.h @@ -52,21 +52,21 @@ public: MOUSE_AXIS_WHEEL_X_POS, MOUSE_AXIS_WHEEL_X_NEG, }; - + enum TouchAxisChannel { TOUCH_AXIS_X_POS = MOUSE_AXIS_WHEEL_X_NEG + 1, TOUCH_AXIS_X_NEG, TOUCH_AXIS_Y_POS, TOUCH_AXIS_Y_NEG, }; - + enum TouchButtonChannel { TOUCH_BUTTON_PRESS = TOUCH_AXIS_Y_NEG + 1, }; // Plugin functions bool isSupported() const override { return true; } - const QString& getName() const override { return NAME; } + const QString getName() const override { return NAME; } bool isHandController() const override { return false; } @@ -88,8 +88,8 @@ public: void wheelEvent(QWheelEvent* event); static void enableTouch(bool enableTouch) { _enableTouch = enableTouch; } - - static const QString NAME; + + static const char* NAME; protected: diff --git a/libraries/input-plugins/src/input-plugins/TouchscreenDevice.cpp b/libraries/input-plugins/src/input-plugins/TouchscreenDevice.cpp index 64f02b5df3..20952df4d7 100644 --- a/libraries/input-plugins/src/input-plugins/TouchscreenDevice.cpp +++ b/libraries/input-plugins/src/input-plugins/TouchscreenDevice.cpp @@ -21,7 +21,7 @@ #include #include -const QString TouchscreenDevice::NAME = "Touchscreen"; +const char* TouchscreenDevice::NAME = "Touchscreen"; bool TouchscreenDevice::isSupported() const { for (auto touchDevice : QTouchDevice::devices()) { diff --git a/libraries/input-plugins/src/input-plugins/TouchscreenDevice.h b/libraries/input-plugins/src/input-plugins/TouchscreenDevice.h index 7bfaa23be8..65e771e8f0 100644 --- a/libraries/input-plugins/src/input-plugins/TouchscreenDevice.h +++ b/libraries/input-plugins/src/input-plugins/TouchscreenDevice.h @@ -22,7 +22,7 @@ class QGestureEvent; class TouchscreenDevice : public InputPlugin { Q_OBJECT public: - + enum TouchAxisChannel { TOUCH_AXIS_X_POS = 0, TOUCH_AXIS_X_NEG, @@ -37,7 +37,7 @@ public: // Plugin functions virtual bool isSupported() const override; - virtual const QString& getName() const override { return NAME; } + virtual const QString getName() const override { return NAME; } bool isHandController() const override { return false; } @@ -48,8 +48,8 @@ public: void touchEndEvent(const QTouchEvent* event); void touchUpdateEvent(const QTouchEvent* event); void touchGestureEvent(const QGestureEvent* event); - - static const QString NAME; + + static const char* NAME; protected: diff --git a/libraries/plugins/src/plugins/Plugin.cpp b/libraries/plugins/src/plugins/Plugin.cpp index 7c30f252c9..58c71aa97c 100644 --- a/libraries/plugins/src/plugins/Plugin.cpp +++ b/libraries/plugins/src/plugins/Plugin.cpp @@ -7,7 +7,7 @@ // #include "Plugin.h" -QString Plugin::UNKNOWN_PLUGIN_ID("unknown"); +const char* Plugin::UNKNOWN_PLUGIN_ID { "unknown" }; void Plugin::setContainer(PluginContainer* container) { _container = container; diff --git a/libraries/plugins/src/plugins/Plugin.h b/libraries/plugins/src/plugins/Plugin.h index 0452c7fbfe..15588fafa4 100644 --- a/libraries/plugins/src/plugins/Plugin.h +++ b/libraries/plugins/src/plugins/Plugin.h @@ -18,7 +18,7 @@ class Plugin : public QObject { Q_OBJECT public: /// \return human-readable name - virtual const QString& getName() const = 0; + virtual const QString getName() const = 0; typedef enum { STANDARD, ADVANCED, DEVELOPER } grouping; @@ -26,10 +26,10 @@ public: virtual grouping getGrouping() const { return STANDARD; } /// \return string ID (not necessarily human-readable) - virtual const QString& getID() const { assert(false); return UNKNOWN_PLUGIN_ID; } + virtual const QString getID() const { assert(false); return UNKNOWN_PLUGIN_ID; } virtual bool isSupported() const; - + void setContainer(PluginContainer* container); /// Called when plugin is initially loaded, typically at application start @@ -74,6 +74,6 @@ signals: protected: bool _active { false }; PluginContainer* _container { nullptr }; - static QString UNKNOWN_PLUGIN_ID; + static const char* UNKNOWN_PLUGIN_ID; }; diff --git a/libraries/shared/src/shared/Factory.h b/libraries/shared/src/shared/Factory.h index 6f1da6644b..00b7787fdb 100644 --- a/libraries/shared/src/shared/Factory.h +++ b/libraries/shared/src/shared/Factory.h @@ -23,12 +23,12 @@ namespace hifi { using Builder = std::function; using BuilderMap = std::map; - void registerBuilder(const Key& name, Builder builder) { + void registerBuilder(const Key name, Builder builder) { // FIXME don't allow name collisions _builders[name] = builder; } - Pointer create(const Key& name) const { + Pointer create(const Key name) const { const auto& entryIt = _builders.find(name); if (entryIt != _builders.end()) { return (*entryIt).second(); @@ -39,7 +39,7 @@ namespace hifi { template class Registrar { public: - Registrar(const Key& name, SimpleFactory& factory) { + Registrar(const Key name, SimpleFactory& factory) { factory.registerBuilder(name, [] { return std::make_shared(); }); } }; diff --git a/plugins/hifiCodec/src/HiFiCodec.cpp b/plugins/hifiCodec/src/HiFiCodec.cpp index 4e9336ff90..77c369dcae 100644 --- a/plugins/hifiCodec/src/HiFiCodec.cpp +++ b/plugins/hifiCodec/src/HiFiCodec.cpp @@ -18,7 +18,7 @@ #include "HiFiCodec.h" -const QString HiFiCodec::NAME = "hifiAC"; +const char* HiFiCodec::NAME { "hifiAC" }; void HiFiCodec::init() { } diff --git a/plugins/hifiCodec/src/HiFiCodec.h b/plugins/hifiCodec/src/HiFiCodec.h index eeba8d56d8..09b247ff7e 100644 --- a/plugins/hifiCodec/src/HiFiCodec.h +++ b/plugins/hifiCodec/src/HiFiCodec.h @@ -16,11 +16,11 @@ class HiFiCodec : public CodecPlugin { Q_OBJECT - + public: // Plugin functions bool isSupported() const override; - const QString& getName() const override { return NAME; } + const QString getName() const override { return NAME; } void init() override; void deinit() override; @@ -36,7 +36,7 @@ public: virtual void releaseDecoder(Decoder* decoder) override; private: - static const QString NAME; + static const char* NAME; }; #endif // hifi_HiFiCodec_h diff --git a/plugins/hifiSdl2/src/Joystick.h b/plugins/hifiSdl2/src/Joystick.h index a10e02d325..7ea17739e3 100644 --- a/plugins/hifiSdl2/src/Joystick.h +++ b/plugins/hifiSdl2/src/Joystick.h @@ -29,7 +29,7 @@ class Joystick : public QObject, public controller::InputDevice { public: using Pointer = std::shared_ptr; - const QString& getName() const { return _name; } + const QString getName() const { return _name; } SDL_GameController* getGameController() { return _sdlGameController; } diff --git a/plugins/hifiSdl2/src/SDL2Manager.cpp b/plugins/hifiSdl2/src/SDL2Manager.cpp index b6fa567aee..5ab5758412 100644 --- a/plugins/hifiSdl2/src/SDL2Manager.cpp +++ b/plugins/hifiSdl2/src/SDL2Manager.cpp @@ -41,7 +41,7 @@ static_assert( "SDL2 equvalence: Enums and values from StandardControls.h are assumed to match enums from SDL_gamecontroller.h"); -const QString SDL2Manager::NAME = "SDL2"; +const char* SDL2Manager::NAME = "SDL2"; SDL_JoystickID SDL2Manager::getInstanceId(SDL_GameController* controller) { SDL_Joystick* joystick = SDL_GameControllerGetJoystick(controller); diff --git a/plugins/hifiSdl2/src/SDL2Manager.h b/plugins/hifiSdl2/src/SDL2Manager.h index fc1654bce1..4501d0792b 100644 --- a/plugins/hifiSdl2/src/SDL2Manager.h +++ b/plugins/hifiSdl2/src/SDL2Manager.h @@ -20,11 +20,11 @@ class SDL2Manager : public InputPlugin { Q_OBJECT - + public: // Plugin functions bool isSupported() const override; - const QString& getName() const override { return NAME; } + const QString getName() const override { return NAME; } QStringList getSubdeviceNames() override; bool isHandController() const override { return false; } @@ -39,14 +39,14 @@ public: void pluginFocusOutEvent() override; void pluginUpdate(float deltaTime, const controller::InputCalibrationData& inputCalibrationData) override; - + signals: void joystickAdded(Joystick* joystick); void joystickRemoved(Joystick* joystick); - + private: SDL_JoystickID getInstanceId(SDL_GameController* controller); - + int axisInvalid() const { return SDL_CONTROLLER_AXIS_INVALID; } int axisLeftX() const { return SDL_CONTROLLER_AXIS_LEFTX; } int axisLeftY() const { return SDL_CONTROLLER_AXIS_LEFTY; } @@ -55,7 +55,7 @@ private: int axisTriggerLeft() const { return SDL_CONTROLLER_AXIS_TRIGGERLEFT; } int axisTriggerRight() const { return SDL_CONTROLLER_AXIS_TRIGGERRIGHT; } int axisMax() const { return SDL_CONTROLLER_AXIS_MAX; } - + int buttonInvalid() const { return SDL_CONTROLLER_BUTTON_INVALID; } int buttonFaceBottom() const { return SDL_CONTROLLER_BUTTON_A; } int buttonFaceRight() const { return SDL_CONTROLLER_BUTTON_B; } @@ -73,13 +73,13 @@ private: int buttonDpadLeft() const { return SDL_CONTROLLER_BUTTON_DPAD_LEFT; } int buttonDpadRight() const { return SDL_CONTROLLER_BUTTON_DPAD_RIGHT; } int buttonMax() const { return SDL_CONTROLLER_BUTTON_MAX; } - + int buttonPressed() const { return SDL_PRESSED; } int buttonRelease() const { return SDL_RELEASED; } QMap _openJoysticks; bool _isInitialized { false } ; - static const QString NAME; + static const char* NAME; QStringList _subdeviceNames; }; diff --git a/plugins/hifiSixense/src/SixenseManager.cpp b/plugins/hifiSixense/src/SixenseManager.cpp index baf13f1fae..7d443bd50d 100644 --- a/plugins/hifiSixense/src/SixenseManager.cpp +++ b/plugins/hifiSixense/src/SixenseManager.cpp @@ -55,15 +55,15 @@ bool SixenseManager::_sixenseLoaded = false; -const QString SixenseManager::NAME = "Sixense"; -const QString SixenseManager::HYDRA_ID_STRING = "Razer Hydra"; +const char* SixenseManager::NAME { "Sixense" }; +const char* SixenseManager::HYDRA_ID_STRING { "Razer Hydra" }; -const QString MENU_PARENT = "Developer"; -const QString MENU_NAME = "Sixense"; -const QString MENU_PATH = MENU_PARENT + ">" + MENU_NAME; -const QString TOGGLE_SMOOTH = "Smooth Sixense Movement"; -const QString SHOW_DEBUG_RAW = "Debug Draw Raw Data"; -const QString SHOW_DEBUG_CALIBRATED = "Debug Draw Calibrated Data"; +const char* MENU_PARENT { "Developer" }; +const char* MENU_NAME { "Sixense" }; +const char* MENU_PATH { "Developer" ">" "Sixense" }; +const char* TOGGLE_SMOOTH { "Smooth Sixense Movement" }; +const char* SHOW_DEBUG_RAW { "Debug Draw Raw Data" }; +const char* SHOW_DEBUG_CALIBRATED { "Debug Draw Calibrated Data" }; bool SixenseManager::isSupported() const { #if defined(HAVE_SIXENSE) && !defined(Q_OS_OSX) diff --git a/plugins/hifiSixense/src/SixenseManager.h b/plugins/hifiSixense/src/SixenseManager.h index c77569474e..5237dba791 100644 --- a/plugins/hifiSixense/src/SixenseManager.h +++ b/plugins/hifiSixense/src/SixenseManager.h @@ -28,8 +28,8 @@ class SixenseManager : public InputPlugin { public: // Plugin functions virtual bool isSupported() const override; - virtual const QString& getName() const override { return NAME; } - virtual const QString& getID() const override { return HYDRA_ID_STRING; } + virtual const QString getName() const override { return NAME; } + virtual const QString getID() const override { return HYDRA_ID_STRING; } // Sixense always seems to initialize even if the hydras are not present. Is there // a way we can properly detect whether the hydras are present? @@ -92,8 +92,8 @@ private: std::shared_ptr _inputDevice { std::make_shared() }; - static const QString NAME; - static const QString HYDRA_ID_STRING; + static const char* NAME; + static const char* HYDRA_ID_STRING; static bool _sixenseLoaded; }; diff --git a/plugins/pcmCodec/src/PCMCodecManager.cpp b/plugins/pcmCodec/src/PCMCodecManager.cpp index 315d0622ab..7278edaf92 100644 --- a/plugins/pcmCodec/src/PCMCodecManager.cpp +++ b/plugins/pcmCodec/src/PCMCodecManager.cpp @@ -15,7 +15,7 @@ #include "PCMCodecManager.h" -const QString PCMCodec::NAME = "pcm"; +const char* PCMCodec::NAME { "pcm" }; void PCMCodec::init() { } @@ -55,7 +55,7 @@ void PCMCodec::releaseDecoder(Decoder* decoder) { // do nothing } -const QString zLibCodec::NAME = "zlib"; +const char* zLibCodec::NAME { "zlib" }; void zLibCodec::init() { } diff --git a/plugins/pcmCodec/src/PCMCodecManager.h b/plugins/pcmCodec/src/PCMCodecManager.h index 55d7c866f1..d58a219fef 100644 --- a/plugins/pcmCodec/src/PCMCodecManager.h +++ b/plugins/pcmCodec/src/PCMCodecManager.h @@ -16,11 +16,11 @@ class PCMCodec : public CodecPlugin, public Encoder, public Decoder { Q_OBJECT - + public: // Plugin functions bool isSupported() const override; - const QString& getName() const override { return NAME; } + const QString getName() const override { return NAME; } void init() override; void deinit() override; @@ -45,7 +45,7 @@ public: virtual void trackLostFrames(int numFrames) override { } private: - static const QString NAME; + static const char* NAME; }; class zLibCodec : public CodecPlugin, public Encoder, public Decoder { @@ -54,7 +54,7 @@ class zLibCodec : public CodecPlugin, public Encoder, public Decoder { public: // Plugin functions bool isSupported() const override; - const QString& getName() const override { return NAME; } + const QString getName() const override { return NAME; } void init() override; void deinit() override; @@ -80,7 +80,7 @@ public: virtual void trackLostFrames(int numFrames) override { } private: - static const QString NAME; + static const char* NAME; }; #endif // hifi__PCMCodecManager_h From 9b4a8427e6cfa9d3d689b01c00926d537f49adae Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sun, 13 Nov 2016 11:09:27 -0800 Subject: [PATCH 08/17] global/static QString --- plugins/hifiNeuron/src/NeuronPlugin.cpp | 4 ++-- plugins/hifiNeuron/src/NeuronPlugin.h | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/hifiNeuron/src/NeuronPlugin.cpp b/plugins/hifiNeuron/src/NeuronPlugin.cpp index e41472a8c5..aec8bf072a 100644 --- a/plugins/hifiNeuron/src/NeuronPlugin.cpp +++ b/plugins/hifiNeuron/src/NeuronPlugin.cpp @@ -27,8 +27,8 @@ Q_LOGGING_CATEGORY(inputplugins, "hifi.inputplugins") #include -const QString NeuronPlugin::NAME = "Neuron"; -const QString NeuronPlugin::NEURON_ID_STRING = "Perception Neuron"; +const char* NeuronPlugin::NAME = "Neuron"; +const char* NeuronPlugin::NEURON_ID_STRING = "Perception Neuron"; // indices of joints of the Neuron standard skeleton. // This is 'almost' the same as the High Fidelity standard skeleton. diff --git a/plugins/hifiNeuron/src/NeuronPlugin.h b/plugins/hifiNeuron/src/NeuronPlugin.h index 576deb64ae..0e4ea4e7ff 100644 --- a/plugins/hifiNeuron/src/NeuronPlugin.h +++ b/plugins/hifiNeuron/src/NeuronPlugin.h @@ -29,7 +29,7 @@ public: // Plugin functions virtual bool isSupported() const override; - virtual const QString& getName() const override { return NAME; } + virtual const char* getName() const override { return NAME; } const QString& getID() const override { return NEURON_ID_STRING; } virtual bool activate() override; @@ -65,8 +65,8 @@ protected: std::shared_ptr _inputDevice { std::make_shared() }; - static const QString NAME; - static const QString NEURON_ID_STRING; + static const char* NAME; + static const char* NEURON_ID_STRING; std::string _serverAddress; int _serverPort; From f8fb5b970928487a58b898b1556e61a6e026af60 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sun, 13 Nov 2016 11:29:19 -0800 Subject: [PATCH 09/17] avoid some more static/global QStrings in plugins --- plugins/hifiSpacemouse/src/SpacemouseManager.h | 6 +++--- plugins/oculus/src/OculusControllerManager.cpp | 6 +++--- plugins/oculus/src/OculusControllerManager.h | 4 ++-- plugins/oculus/src/OculusDebugDisplayPlugin.cpp | 2 +- plugins/oculus/src/OculusDebugDisplayPlugin.h | 4 ++-- plugins/oculus/src/OculusDisplayPlugin.h | 4 ++-- plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h | 6 +++--- plugins/openvr/src/OpenVrDisplayPlugin.h | 4 ++-- plugins/openvr/src/ViveControllerManager.cpp | 8 ++++---- plugins/openvr/src/ViveControllerManager.h | 4 ++-- 10 files changed, 24 insertions(+), 24 deletions(-) diff --git a/plugins/hifiSpacemouse/src/SpacemouseManager.h b/plugins/hifiSpacemouse/src/SpacemouseManager.h index a9933902e5..361a1fad2d 100644 --- a/plugins/hifiSpacemouse/src/SpacemouseManager.h +++ b/plugins/hifiSpacemouse/src/SpacemouseManager.h @@ -76,8 +76,8 @@ class SpacemouseManager : public InputPlugin, public QAbstractNativeEventFilter Q_OBJECT public: bool isSupported() const override; - const QString& getName() const override { return NAME; } - const QString& getID() const override { return NAME; } + const QString getName() const override { return NAME; } + const QString getID() const override { return NAME; } bool activate() override; void deactivate() override; @@ -127,7 +127,7 @@ private: // use to calculate distance traveled since last event DWORD fLast3dmouseInputTime; - static const QString NAME; + static const char* NAME; friend class SpacemouseDevice; }; diff --git a/plugins/oculus/src/OculusControllerManager.cpp b/plugins/oculus/src/OculusControllerManager.cpp index f0edc5a465..c9c964ec9d 100644 --- a/plugins/oculus/src/OculusControllerManager.cpp +++ b/plugins/oculus/src/OculusControllerManager.cpp @@ -25,9 +25,9 @@ Q_DECLARE_LOGGING_CATEGORY(oculus) -static const QString MENU_PARENT = "Avatar"; -static const QString MENU_NAME = "Oculus Touch Controllers"; -static const QString MENU_PATH = MENU_PARENT + ">" + MENU_NAME; +static const char* MENU_PARENT = "Avatar"; +static const char* MENU_NAME = "Oculus Touch Controllers"; +static const char* MENU_PATH = MENU_PARENT + ">" + MENU_NAME; const QString OculusControllerManager::NAME = "Oculus"; diff --git a/plugins/oculus/src/OculusControllerManager.h b/plugins/oculus/src/OculusControllerManager.h index 1ca9e0f47e..98e0e3d650 100644 --- a/plugins/oculus/src/OculusControllerManager.h +++ b/plugins/oculus/src/OculusControllerManager.h @@ -24,7 +24,7 @@ class OculusControllerManager : public InputPlugin { public: // Plugin functions bool isSupported() const override; - const QString& getName() const override { return NAME; } + const QString getName() const override { return NAME; } bool isHandController() const override { return _touch != nullptr; } QStringList getSubdeviceNames() override; @@ -95,7 +95,7 @@ private: ovrInputState _inputState {}; RemoteDevice::Pointer _remote; TouchDevice::Pointer _touch; - static const QString NAME; + static const char* NAME; }; #endif // hifi__OculusControllerManager diff --git a/plugins/oculus/src/OculusDebugDisplayPlugin.cpp b/plugins/oculus/src/OculusDebugDisplayPlugin.cpp index f1d22f3ceb..429d3ecd16 100644 --- a/plugins/oculus/src/OculusDebugDisplayPlugin.cpp +++ b/plugins/oculus/src/OculusDebugDisplayPlugin.cpp @@ -8,7 +8,7 @@ #include "OculusDebugDisplayPlugin.h" #include -const QString OculusDebugDisplayPlugin::NAME("Oculus Rift (Simulator)"); +const char* OculusDebugDisplayPlugin::NAME { "Oculus Rift (Simulator)" }; static const QString DEBUG_FLAG("HIFI_DEBUG_OCULUS"); static bool enableDebugOculus = true || QProcessEnvironment::systemEnvironment().contains("HIFI_DEBUG_OCULUS"); diff --git a/plugins/oculus/src/OculusDebugDisplayPlugin.h b/plugins/oculus/src/OculusDebugDisplayPlugin.h index 983511ba01..ec05cd92e2 100644 --- a/plugins/oculus/src/OculusDebugDisplayPlugin.h +++ b/plugins/oculus/src/OculusDebugDisplayPlugin.h @@ -11,7 +11,7 @@ class OculusDebugDisplayPlugin : public OculusBaseDisplayPlugin { public: - const QString& getName() const override { return NAME; } + const QString getName() const override { return NAME; } grouping getGrouping() const override { return DEVELOPER; } bool isSupported() const override; @@ -20,6 +20,6 @@ protected: bool isHmdMounted() const override { return true; } private: - static const QString NAME; + static const char* NAME; }; diff --git a/plugins/oculus/src/OculusDisplayPlugin.h b/plugins/oculus/src/OculusDisplayPlugin.h index 0c7d57c4f4..fce8e9e6ce 100644 --- a/plugins/oculus/src/OculusDisplayPlugin.h +++ b/plugins/oculus/src/OculusDisplayPlugin.h @@ -13,7 +13,7 @@ class OculusDisplayPlugin : public OculusBaseDisplayPlugin { using Parent = OculusBaseDisplayPlugin; public: ~OculusDisplayPlugin(); - const QString& getName() const override { return NAME; } + const QString getName() const override { return NAME; } void init() override; @@ -29,7 +29,7 @@ protected: void cycleDebugOutput() override; private: - static const QString NAME; + static const char* NAME; ovrTextureSwapChain _textureSwapChain; gpu::FramebufferPointer _outputFramebuffer; bool _customized { false }; diff --git a/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h b/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h index 6ffc1a7f44..20345467df 100644 --- a/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h +++ b/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h @@ -21,7 +21,7 @@ class OculusLegacyDisplayPlugin : public HmdDisplayPlugin { public: OculusLegacyDisplayPlugin(); bool isSupported() const override; - const QString& getName() const override { return NAME; } + const QString getName() const override { return NAME; } void init() override; @@ -41,9 +41,9 @@ protected: void uncustomizeContext() override; void hmdPresent() override; bool isHmdMounted() const override { return true; } - + private: - static const QString NAME; + static const char* NAME; GLWindow* _hmdWindow{ nullptr }; ovrHmd _hmd; diff --git a/plugins/openvr/src/OpenVrDisplayPlugin.h b/plugins/openvr/src/OpenVrDisplayPlugin.h index 3403bae27c..a60c21a606 100644 --- a/plugins/openvr/src/OpenVrDisplayPlugin.h +++ b/plugins/openvr/src/OpenVrDisplayPlugin.h @@ -36,7 +36,7 @@ class OpenVrDisplayPlugin : public HmdDisplayPlugin { using Parent = HmdDisplayPlugin; public: bool isSupported() const override; - const QString& getName() const override { return NAME; } + const QString getName() const override { return NAME; } void init() override; @@ -72,7 +72,7 @@ private: vr::IVRSystem* _system { nullptr }; std::atomic _hmdActivityLevel { vr::k_EDeviceActivityLevel_Unknown }; std::atomic _keyboardSupressionCount{ 0 }; - static const QString NAME; + static const char* NAME; vr::HmdMatrix34_t _lastGoodHMDPose; mat4 _sensorResetMat; diff --git a/plugins/openvr/src/ViveControllerManager.cpp b/plugins/openvr/src/ViveControllerManager.cpp index ff8fc64474..449bf1b85e 100644 --- a/plugins/openvr/src/ViveControllerManager.cpp +++ b/plugins/openvr/src/ViveControllerManager.cpp @@ -37,10 +37,10 @@ void releaseOpenVrSystem(); static const char* CONTROLLER_MODEL_STRING = "vr_controller_05_wireless_b"; -static const QString MENU_PARENT = "Avatar"; -static const QString MENU_NAME = "Vive Controllers"; -static const QString MENU_PATH = MENU_PARENT + ">" + MENU_NAME; -static const QString RENDER_CONTROLLERS = "Render Hand Controllers"; +static const char* MENU_PARENT = "Avatar"; +static const char* MENU_NAME = "Vive Controllers"; +static const char* MENU_PATH = "Avatar" ">" "Vive Controllers"; +static const char* RENDER_CONTROLLERS = "Render Hand Controllers"; const QString ViveControllerManager::NAME = "OpenVR"; diff --git a/plugins/openvr/src/ViveControllerManager.h b/plugins/openvr/src/ViveControllerManager.h index 5f34d70ba8..3fb166c842 100644 --- a/plugins/openvr/src/ViveControllerManager.h +++ b/plugins/openvr/src/ViveControllerManager.h @@ -33,7 +33,7 @@ class ViveControllerManager : public InputPlugin { public: // Plugin functions bool isSupported() const override; - const QString& getName() const override { return NAME; } + const QString getName() const override { return NAME; } bool isHandController() const override { return true; } @@ -125,7 +125,7 @@ private: vr::IVRSystem* _system { nullptr }; std::shared_ptr _inputDevice { std::make_shared(_system) }; - static const QString NAME; + static const char* NAME; }; #endif // hifi__ViveControllerManager From 45bcf626aadc71092030e8d9c4b9ae35a1e4c9b8 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sun, 13 Nov 2016 11:48:49 -0800 Subject: [PATCH 10/17] try, try again --- plugins/hifiNeuron/src/NeuronPlugin.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/hifiNeuron/src/NeuronPlugin.h b/plugins/hifiNeuron/src/NeuronPlugin.h index 0e4ea4e7ff..36dcf93c23 100644 --- a/plugins/hifiNeuron/src/NeuronPlugin.h +++ b/plugins/hifiNeuron/src/NeuronPlugin.h @@ -29,8 +29,8 @@ public: // Plugin functions virtual bool isSupported() const override; - virtual const char* getName() const override { return NAME; } - const QString& getID() const override { return NEURON_ID_STRING; } + virtual const QString getName() const override { return NAME; } + const QString getID() const override { return NEURON_ID_STRING; } virtual bool activate() override; virtual void deactivate() override; From 359f05426cc25b353548602fa18e1e55bc6f5026 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sun, 13 Nov 2016 12:14:48 -0800 Subject: [PATCH 11/17] try, try again --- plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.cpp b/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.cpp index b7b6ae5768..09f3e6dc8c 100644 --- a/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.cpp +++ b/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.cpp @@ -30,7 +30,7 @@ #include "OculusHelpers.h" -const QString OculusLegacyDisplayPlugin::NAME("Oculus Rift"); +const char* OculusLegacyDisplayPlugin::NAME { "Oculus Rift" }; OculusLegacyDisplayPlugin::OculusLegacyDisplayPlugin() { } From 946dc256f092bb2c520882e3485786f63e950175 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sun, 13 Nov 2016 12:15:35 -0800 Subject: [PATCH 12/17] try, try again --- plugins/openvr/src/ViveControllerManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/openvr/src/ViveControllerManager.cpp b/plugins/openvr/src/ViveControllerManager.cpp index 449bf1b85e..2e930c0fdc 100644 --- a/plugins/openvr/src/ViveControllerManager.cpp +++ b/plugins/openvr/src/ViveControllerManager.cpp @@ -42,7 +42,7 @@ static const char* MENU_NAME = "Vive Controllers"; static const char* MENU_PATH = "Avatar" ">" "Vive Controllers"; static const char* RENDER_CONTROLLERS = "Render Hand Controllers"; -const QString ViveControllerManager::NAME = "OpenVR"; +const char* ViveControllerManager::NAME { "OpenVR" }; bool ViveControllerManager::isSupported() const { return openVrSupported(); From 212d51810946f9a12788eb37862397947ee7c070 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Sun, 13 Nov 2016 12:17:12 -0800 Subject: [PATCH 13/17] use for loop for kick and mute overlay cleanup --- scripts/system/mod.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/system/mod.js b/scripts/system/mod.js index f94be98406..7e5cc5d2a5 100644 --- a/scripts/system/mod.js +++ b/scripts/system/mod.js @@ -137,10 +137,10 @@ function updateOverlays() { isFacingAvatar: true, drawInFront: true }); - + modOverlays[avatarID]=[newKickOverlay]; - - if (Users.canKick) { + + if (Users.canKick) { var newMuteOverlay = Overlays.addOverlay("image3d", { url: muteOverlayURL(), position: muteOverlayPosition, @@ -166,11 +166,11 @@ AvatarList.avatarRemovedEvent.connect(function(avatarID){ if (isShowingOverlays) { // we are currently showing overlays and an avatar just went away - // first remove the rendered overlay - for (var overlay in modOverlays[avatarID]) { - Overlays.deleteOverlay(overlay); + // first remove the rendered overlays + for (var j = 0; j < modOverlays[avatarID].length; ++j) { + Overlays.deleteOverlay(modOverlays[avatarID][j]); } - + // delete the saved ID of the overlay from our mod overlays object delete modOverlays[avatarID]; } @@ -193,7 +193,7 @@ function handleSelectedOverlay(clickedOverlay) { Users.ignore(avatarID); } // cleanup of the overlay is handled by the connection to avatarRemovedEvent - + } else if (muteOverlay && clickedOverlay.overlayID == muteOverlay) { Users.mute(avatarID); } From da83fd9fa46683996df318cc256a4f269629f21c Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sun, 13 Nov 2016 12:56:16 -0800 Subject: [PATCH 14/17] try, try again --- plugins/openvr/src/OpenVrDisplayPlugin.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/openvr/src/OpenVrDisplayPlugin.cpp b/plugins/openvr/src/OpenVrDisplayPlugin.cpp index 7f0ac4d5e0..eb0e58eb4a 100644 --- a/plugins/openvr/src/OpenVrDisplayPlugin.cpp +++ b/plugins/openvr/src/OpenVrDisplayPlugin.cpp @@ -33,9 +33,9 @@ Q_DECLARE_LOGGING_CATEGORY(displayplugins) -const QString OpenVrDisplayPlugin::NAME("OpenVR (Vive)"); -const QString StandingHMDSensorMode = "Standing HMD Sensor Mode"; // this probably shouldn't be hardcoded here -const QString OpenVrThreadedSubmit = "OpenVR Threaded Submit"; // this probably shouldn't be hardcoded here +const char* OpenVrDisplayPlugin::NAME { "OpenVR (Vive)" }; +const char* StandingHMDSensorMode { "Standing HMD Sensor Mode" }; // this probably shouldn't be hardcoded here +const char* OpenVrThreadedSubmit { "OpenVR Threaded Submit" }; // this probably shouldn't be hardcoded here PoseData _nextRenderPoseData; PoseData _nextSimPoseData; From 645134e4b06f2fc4f05dee5a11af3d77ca71ec89 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sun, 13 Nov 2016 13:26:15 -0800 Subject: [PATCH 15/17] try, try again --- plugins/oculus/src/OculusControllerManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/oculus/src/OculusControllerManager.cpp b/plugins/oculus/src/OculusControllerManager.cpp index c9c964ec9d..f56d594919 100644 --- a/plugins/oculus/src/OculusControllerManager.cpp +++ b/plugins/oculus/src/OculusControllerManager.cpp @@ -27,9 +27,9 @@ Q_DECLARE_LOGGING_CATEGORY(oculus) static const char* MENU_PARENT = "Avatar"; static const char* MENU_NAME = "Oculus Touch Controllers"; -static const char* MENU_PATH = MENU_PARENT + ">" + MENU_NAME; +static const char* MENU_PATH = "Avatar" ">" "Oculus Touch Controllers"; -const QString OculusControllerManager::NAME = "Oculus"; +const char* OculusControllerManager::NAME = "Oculus"; bool OculusControllerManager::isSupported() const { return oculusAvailable(); From 7a160ce5e89a79bfa625c5198c247aec49675272 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sun, 13 Nov 2016 13:39:31 -0800 Subject: [PATCH 16/17] try, try again --- plugins/oculus/src/OculusDisplayPlugin.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/oculus/src/OculusDisplayPlugin.cpp b/plugins/oculus/src/OculusDisplayPlugin.cpp index 143204be17..d7d734f6a2 100644 --- a/plugins/oculus/src/OculusDisplayPlugin.cpp +++ b/plugins/oculus/src/OculusDisplayPlugin.cpp @@ -19,7 +19,7 @@ #include "OculusHelpers.h" -const QString OculusDisplayPlugin::NAME("Oculus Rift"); +const char* OculusDisplayPlugin::NAME { "Oculus Rift" }; static ovrPerfHudMode currentDebugMode = ovrPerfHud_Off; bool OculusDisplayPlugin::internalActivate() { From 92e24e6ded96f9e35e92fb241211fe69982ce935 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Sun, 13 Nov 2016 16:09:57 -0800 Subject: [PATCH 17/17] code review --- .../display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp index 90100d93c0..63c4692a5f 100644 --- a/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp +++ b/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp @@ -758,7 +758,6 @@ void OpenGLDisplayPlugin::render(std::function f) { OpenGLDisplayPlugin::~OpenGLDisplayPlugin() { - // qDebug() << "Destroying OpenGLDisplayPlugin"; } void OpenGLDisplayPlugin::updateCompositeFramebuffer() {