diff options
author | Keränen Pasi <pasi.keranen@digia.com> | 2013-12-18 10:02:25 +0200 |
---|---|---|
committer | Pasi Keränen <pasi.keranen@digia.com> | 2013-12-18 10:11:30 +0200 |
commit | 3dbf7cc678879b314dc75264a9592e24b39e2deb (patch) | |
tree | e2d7905de7d277b9a1026659f9533dfe9f05fe1d | |
parent | 3461c5162b4a8e83f4ec06f5539ad227bffcc839 (diff) |
Fixes QML surface selections.
Task-id: QTRD-2565
Change-Id: I7864e2e71b1d7b7cfab8ad4d9a3e9376d832c0d6
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
-rw-r--r-- | src/datavisualization/engine/surface3drenderer.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 0b5d75d3..7049632d 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -988,6 +988,11 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) && m_visibleSeriesList.size() > 0) { m_selectionShader->bind(); glBindFramebuffer(GL_FRAMEBUFFER, m_selectionFrameBuffer); + glViewport(0, + 0, + m_primarySubViewport.width(), + m_primarySubViewport.height()); + glEnable(GL_DEPTH_TEST); // Needed, otherwise the depth render buffer is not used glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Needed for clearing the frame buffer @@ -1024,6 +1029,12 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) emit pointClicked(QPoint(selectionIdToSurfacePoint(selectionId)), static_cast<QSurface3DSeries *>(m_visibleSeriesList.at(0).series())); + + // Revert to original viewport + glViewport(m_primarySubViewport.x(), + m_primarySubViewport.y(), + m_primarySubViewport.width(), + m_primarySubViewport.height()); } // Draw the surface |