Check error code from glReadPixels() to prevent invalid zoom.

This commit is contained in:
Torsten Paul 2016-01-10 17:51:07 +01:00
parent 9bf22c6dea
commit 143db7bfa8

View file

@ -201,7 +201,12 @@ void QGLView::mouseDoubleClickEvent (QMouseEvent *event) {
double y = viewport[3] - event->pos().y() * this->getDPI();
GLfloat z = 0;
glGetError(); // clear error state so we don't pick up previous errors
glReadPixels(x, y, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &z);
GLenum glError = glGetError();
if (glError != GL_NO_ERROR) {
return;
}
if (z == 1) return; // outside object