From a32ef9f39169c873d24c5385dcb948c89ab19002 Mon Sep 17 00:00:00 2001 From: James Turner Date: Sat, 28 May 2011 21:20:06 +0100 Subject: [PATCH] Fix yet another subtle resize problem I introduced, which upset PUI. This code is terribly fragile - yuck. Thanks to papillion 81 for tracking down the issue, --- src/Main/renderer.cxx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Main/renderer.cxx b/src/Main/renderer.cxx index 4edaf2406..4902abea0 100644 --- a/src/Main/renderer.cxx +++ b/src/Main/renderer.cxx @@ -784,9 +784,14 @@ FGRenderer::resize( int width, int height ) { int curWidth = _xsize->getIntValue(), curHeight = _ysize->getIntValue(); - - _xsize->setIntValue(width); - _ysize->setIntValue(height); + if ((curHeight != height) || (curWidth != width)) { + // must guard setting these, or PLIB-PUI fails with too many live interfaces + _xsize->setIntValue(width); + _ysize->setIntValue(height); + } + + // must set view aspect ratio each frame, or initial values are wrong. + // should probably be fixed 'smarter' during view setup. double aspect = height / (double) width; // for all views -- 2.39.5