From a32ef9f39169c873d24c5385dcb948c89ab19002 Mon Sep 17 00:00:00 2001
From: James Turner <zakalawe@mac.com>
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