X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FMain%2FCameraGroup.cxx;h=e80e0c564bbc1cf61b5520055aa9cea426ea96a2;hb=38226af24ec01e8f0a20d7fd73ef838a69f6ef25;hp=305c68363021014fd747c30bf0bc7df6e205dfd2;hpb=c5c895dae250898d667ae29641c51a550be7ee90;p=flightgear.git diff --git a/src/Main/CameraGroup.cxx b/src/Main/CameraGroup.cxx index 305c68363..e80e0c564 100644 --- a/src/Main/CameraGroup.cxx +++ b/src/Main/CameraGroup.cxx @@ -162,7 +162,7 @@ CameraInfo* CameraGroup::addCamera(unsigned flags, Camera* camera, if (bufferMap.count(Camera::COLOR_BUFFER) != 0) { farCamera->attach( Camera::COLOR_BUFFER, - bufferMap.find(Camera::COLOR_BUFFER)->second._texture); + bufferMap.find(Camera::COLOR_BUFFER)->second._texture.get()); } _viewer->addSlave(farCamera, projection, view, useMasterSceneData); installCullVisitor(farCamera); @@ -646,15 +646,16 @@ CameraInfo* CameraGroup::buildGUICamera(SGPropertyNode* cameraNode, const SGPropertyNode* windowNode = (cameraNode ? cameraNode->getNode("window") : 0); - if (!window) { - if (windowNode) { - // New style window declaration / definition - window = wBuild->buildWindow(windowNode); - - } else { - return 0; - } + if (!window && windowNode) { + // New style window declaration / definition + window = wBuild->buildWindow(windowNode); + } + + if (!window) { // buildWindow can fail + SG_LOG(SG_GENERAL, SG_WARN, "CameraGroup::buildGUICamera: failed to build a window"); + return NULL; } + Camera* camera = new Camera; camera->setAllowEventFocus(false); camera->setGraphicsContext(window->gc.get());