From 3110f889a6181f5645f00269c343633daa5e5115 Mon Sep 17 00:00:00 2001 From: Martin Schultz Date: Wed, 25 Apr 2018 14:05:17 +0200 Subject: [PATCH] fixed a problem with the lastDrawMode not being initialized when picking renderer is used at startup. fixes #1 --- ObjectTypes/VolumeMeshObject/VolumeMeshNodeT.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ObjectTypes/VolumeMeshObject/VolumeMeshNodeT.cc b/ObjectTypes/VolumeMeshObject/VolumeMeshNodeT.cc index 7bfdb92..34534f8 100644 --- a/ObjectTypes/VolumeMeshObject/VolumeMeshNodeT.cc +++ b/ObjectTypes/VolumeMeshObject/VolumeMeshNodeT.cc @@ -1109,6 +1109,12 @@ void VolumeMeshNodeT::getRenderObjects(IRenderer* _renderer, GLStat template void VolumeMeshNodeT::pick(GLState& _state, PickTarget _target) { + bool drawModeOverride = false; + if(lastDrawMode_ == DrawModes::NONE) // no last drawmode so the picking renderer + { // is probably calling this function for rendering + lastDrawMode_ = drawMode(); + drawModeOverride = true; + } // save state bool clientStateEnabledVertexArray = GLState::isClientStateEnabled(GL_VERTEX_ARRAY); @@ -1215,6 +1221,9 @@ void VolumeMeshNodeT::pick(GLState& _state, PickTarget _target) { lastPickTarget_ = _target; + if(drawModeOverride) + lastDrawMode_ = DrawModes::NONE; + // restore state if (clientStateEnabledVertexArray) GLState::enableClientState(GL_VERTEX_ARRAY); -- GitLab