From: Csaba Halasz Date: Tue, 24 Nov 2009 13:47:59 +0000 (+0100) Subject: Fix NaN due to possibly uninitialized _lastViewport in FGPanelNode X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=2683a9bd2de810e3f6285ab0e750a2a87c264fd1;p=flightgear.git Fix NaN due to possibly uninitialized _lastViewport in FGPanelNode --- diff --git a/src/Model/panelnode.cxx b/src/Model/panelnode.cxx index 6ac60caaa..be6889fda 100644 --- a/src/Model/panelnode.cxx +++ b/src/Model/panelnode.cxx @@ -102,6 +102,11 @@ FGPanelNode::FGPanelNode(SGPropertyNode* props) m(1,i) *= 1.0/_ymax; } + _lastViewport[0] = 0; + _lastViewport[1] = 0; + _lastViewport[2] = 0; + _lastViewport[3] = 0; + dirtyBound(); // All done. Add us to the list @@ -152,6 +157,11 @@ FGPanelNode::computeBound() const bool FGPanelNode::doMouseAction(int button, int updown, int x, int y) { + if (_lastViewport[2] == 0 || _lastViewport[3] == 0) { + // we haven't been drawn yet, presumably + return false; + } + // Covert the screen coordinates to viewport coordinates in the // range [0:1], then transform to OpenGL "post projection" coords // in [-1:1]. Remember the difference in Y direction!