diff --git a/examples/osgkeyboardmouse/osgkeyboardmouse.cpp b/examples/osgkeyboardmouse/osgkeyboardmouse.cpp index b62c0930f..41e111421 100644 --- a/examples/osgkeyboardmouse/osgkeyboardmouse.cpp +++ b/examples/osgkeyboardmouse/osgkeyboardmouse.cpp @@ -97,10 +97,13 @@ public: if (scene) { const osg::BoundingSphere& bs = scene->getBound(); - _trackBall->reset(); - _trackBall->setOrientation( Producer::Trackball::Z_UP ); - _trackBall->setDistance(bs.radius()*2.0f); - _trackBall->translate(-bs.center().x(),-bs.center().y(),-bs.center().z()); + if (bs.valid()) + { + _trackBall->reset(); + _trackBall->setOrientation( Producer::Trackball::Z_UP ); + _trackBall->setDistance(bs.radius()*2.0f); + _trackBall->translate(-bs.center().x(),-bs.center().y(),-bs.center().z()); + } } } diff --git a/examples/osgsimplepager/osgsimplepager.cpp b/examples/osgsimplepager/osgsimplepager.cpp index 3a7d21a23..05c0f384f 100644 --- a/examples/osgsimplepager/osgsimplepager.cpp +++ b/examples/osgsimplepager/osgsimplepager.cpp @@ -81,10 +81,13 @@ public: if (scene) { const osg::BoundingSphere& bs = scene->getBound(); - _trackBall->reset(); - _trackBall->setOrientation( Producer::Trackball::Z_UP ); - _trackBall->setDistance(bs.radius()*2.0f); - _trackBall->translate(-bs.center().x(),-bs.center().y(),-bs.center().z()); + if (bs.valid()) + { + _trackBall->reset(); + _trackBall->setOrientation( Producer::Trackball::Z_UP ); + _trackBall->setDistance(bs.radius()*2.0f); + _trackBall->translate(-bs.center().x(),-bs.center().y(),-bs.center().z()); + } } }