fix possible crash in Quarter viewer

This commit is contained in:
wmayer
2018-07-25 19:50:25 +02:00
parent ed7a734bd1
commit f0a13f0530

View File

@@ -199,15 +199,15 @@ QWidget* SIM::Coin3D::Quarter::SoQTQuarterAdaptor::getGLWidget() const
void SIM::Coin3D::Quarter::SoQTQuarterAdaptor::setCameraType(SoType type)
{
if(!getSoRenderManager()->getCamera()->isOfType(SoPerspectiveCamera::getClassTypeId()) &&
!getSoRenderManager()->getCamera()->isOfType(SoOrthographicCamera::getClassTypeId())) {
SoCamera* cam = getSoRenderManager()->getCamera();
if (cam && !cam->isOfType(SoPerspectiveCamera::getClassTypeId()) &&
!cam->isOfType(SoOrthographicCamera::getClassTypeId())) {
Base::Console().Warning("Quarter::setCameraType",
"Only SoPerspectiveCamera and SoOrthographicCamera is supported.");
return;
}
SoCamera* cam = getSoRenderManager()->getCamera();
SoType perspectivetype = SoPerspectiveCamera::getClassTypeId();
SbBool oldisperspective = cam ? cam->getTypeId().isDerivedFrom(perspectivetype) : false;
SbBool newisperspective = type.isDerivedFrom(perspectivetype);