diff options
Diffstat (limited to 'src/datavisualization/engine')
4 files changed, 9 insertions, 4 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 09fa8510..f2483216 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -80,6 +80,7 @@ Abstract3DController::~Abstract3DController() else delete m_renderer; delete m_scene; + delete m_themeManager; } /** diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 1b436b87..f250fe40 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -65,6 +65,7 @@ Abstract3DRenderer::~Abstract3DRenderer() delete m_drawer; delete m_textureHelper; delete m_cachedScene; + delete m_cachedTheme; } void Abstract3DRenderer::initializeOpenGL() diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 38e384ad..fec4a7d6 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -302,7 +302,7 @@ void Bars3DRenderer::drawSlicedScene() // Set up projection matrix QMatrix4x4 projectionMatrix; projectionMatrix.perspective(40.0f, (GLfloat)m_sliceViewPort.width() - / (GLfloat)m_sliceViewPort.height(), 0.1f, 10.0f); + / (GLfloat)m_sliceViewPort.height(), 0.1f, 100.0f); // Set view matrix QMatrix4x4 viewMatrix; diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 43815d39..bbd50d4e 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -290,8 +290,11 @@ void Surface3DRenderer::updateSeries(const QList<QAbstract3DSeries *> &seriesLis QVector3D seriesColor = Utils::vectorFromColor(series->baseColor()); if (m_uniformGradientTextureColor != seriesColor) generateUniformGradient(seriesColor); - if (m_selectionPointer) + if (m_selectionPointer) { m_selectionPointer->setHighlightColor(Utils::vectorFromColor(series->singleHighlightColor())); + // Make sure selection pointer object reference is still good + m_selectionPointer->setPointerObject(m_visibleSeriesList.at(0).object()); + } } } @@ -996,7 +999,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) m_selectionShader->bind(); glBindFramebuffer(GL_FRAMEBUFFER, m_selectionFrameBuffer); glEnable(GL_DEPTH_TEST); // Needed, otherwise the depth render buffer is not used - glClearColor(0, 0, 0, 0); + glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Needed for clearing the frame buffer glDisable(GL_DITHER); // disable dithering, it may affect colors if enabled @@ -1016,7 +1019,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) glEnable(GL_DITHER); - GLubyte pixel[4] = {0}; + GLubyte pixel[4] = {0, 0, 0, 0}; glReadPixels(m_inputPosition.x(), m_cachedBoundingRect.height() - m_inputPosition.y(), 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, (void *)pixel); |