From 702944b67a59ec4b307b2e4b5f44db6337453cef Mon Sep 17 00:00:00 2001 From: Don BURNS Date: Wed, 18 May 2005 21:45:30 +0000 Subject: [PATCH] Fixed fullscreen toggle in ViewerEventHandler that assumed the first RenderSurface was a window (not a pbuffer). --- src/osgProducer/ViewerEventHandler.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/osgProducer/ViewerEventHandler.cpp b/src/osgProducer/ViewerEventHandler.cpp index 7318391f8..ee9300a2c 100644 --- a/src/osgProducer/ViewerEventHandler.cpp +++ b/src/osgProducer/ViewerEventHandler.cpp @@ -812,12 +812,19 @@ bool ViewerEventHandler::handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActio Producer::CameraConfig* cfg = _cg->getCameraConfig(); bool shouldBeFullScreen = false; + bool flag = true; for( unsigned int i = 0; i < cfg->getNumberOfCameras(); ++i ) { Producer::Camera *cam = cfg->getCamera(i); Producer::RenderSurface* rs = cam->getRenderSurface(); + if( rs->getDrawableType() != Producer::RenderSurface::DrawableType_Window ) + continue; - if(i==0) shouldBeFullScreen =! rs->isFullScreen(); // Remember the initial state of the first render surface + if( flag ) + { + shouldBeFullScreen =! rs->isFullScreen(); // Remember the initial state of the first render surface + flag = false; + } if ( shouldBeFullScreen!=rs->isFullScreen() ) // If the current render surface hasn't been modified already {