From 1ee8b9e5684cac2bf6db62b62bde5e9cfe3d595d Mon Sep 17 00:00:00 2001 From: James Turner <james@flightgear.org> Date: Tue, 23 Mar 2021 17:08:34 +0000 Subject: [PATCH] View tweaks to try to understand crash with no camera group Sentry-Id: FLIGHTGEAR-H9F --- src/Viewer/fg_os_osgviewer.cxx | 1 + src/Viewer/viewmgr.cxx | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/Viewer/fg_os_osgviewer.cxx b/src/Viewer/fg_os_osgviewer.cxx index dd5b15129..600fbcf73 100644 --- a/src/Viewer/fg_os_osgviewer.cxx +++ b/src/Viewer/fg_os_osgviewer.cxx @@ -438,6 +438,7 @@ void fgOSCloseWindow() } } FGScenery::resetPagerSingleton(); + flightgear::addSentryBreadcrumb("fgOSCloseWindow, clearing camera group", "info"); flightgear::CameraGroup::setDefault(NULL); WindowSystemAdapter::setWSA(NULL); viewer = NULL; diff --git a/src/Viewer/viewmgr.cxx b/src/Viewer/viewmgr.cxx index 75b6f6aae..f39018bef 100644 --- a/src/Viewer/viewmgr.cxx +++ b/src/Viewer/viewmgr.cxx @@ -177,6 +177,11 @@ FGViewMgr::update (double dt) // update the camera now osg::ref_ptr<flightgear::CameraGroup> cameraGroup = flightgear::CameraGroup::getDefault(); + if (!cameraGroup) { + // attempting to diagnose the cause of FLIGHTGEAR-H9F + throw sg_exception("FGViewMgr::update: no camera group exists"); + } + if (cameraGroup) { cameraGroup->setCameraParameters(currentView->get_v_fov(), cameraGroup->getMasterAspectRatio());