Fix NaN due to possibly uninitialized _lastViewport in FGPanelNode
This commit is contained in:
parent
54691c0086
commit
2683a9bd2d
1 changed files with 10 additions and 0 deletions
|
@ -102,6 +102,11 @@ FGPanelNode::FGPanelNode(SGPropertyNode* props)
|
||||||
m(1,i) *= 1.0/_ymax;
|
m(1,i) *= 1.0/_ymax;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_lastViewport[0] = 0;
|
||||||
|
_lastViewport[1] = 0;
|
||||||
|
_lastViewport[2] = 0;
|
||||||
|
_lastViewport[3] = 0;
|
||||||
|
|
||||||
dirtyBound();
|
dirtyBound();
|
||||||
|
|
||||||
// All done. Add us to the list
|
// 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)
|
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
|
// Covert the screen coordinates to viewport coordinates in the
|
||||||
// range [0:1], then transform to OpenGL "post projection" coords
|
// range [0:1], then transform to OpenGL "post projection" coords
|
||||||
// in [-1:1]. Remember the difference in Y direction!
|
// in [-1:1]. Remember the difference in Y direction!
|
||||||
|
|
Loading…
Add table
Reference in a new issue