1
0
Fork 0

Fix NaN due to possibly uninitialized _lastViewport in FGPanelNode

This commit is contained in:
Csaba Halasz 2009-11-24 14:47:59 +01:00 committed by Tim Moore
parent 54691c0086
commit 2683a9bd2d

View file

@ -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!