]> git.mxchange.org Git - flightgear.git/blobdiff - src/Model/panelnode.cxx
Fix an (unlikely) startup crash
[flightgear.git] / src / Model / panelnode.cxx
index 1194a45127f9b00b3aee085327fb0c28b95767b0..11b6125d692be9189d517fb339ff83b689c4f10a 100644 (file)
@@ -65,7 +65,11 @@ public:
   virtual bool buttonPressed( int b,
                               const osgGA::GUIEventAdapter&,
                               const Info& info )
-  {    
+  {
+      if (!panel->getPanel()) {
+          return false;
+      }
+      
     button = b;
   // convert to panel coordinates
     osg::Matrixd m = osg::Matrixd::inverse(panel->transformMatrix());
@@ -162,7 +166,7 @@ FGPanelNode::FGPanelNode() :
   _resizeToViewport(true),
   _depthTest(false)
 {
-    SGCommandMgr::instance()->addCommand("panel-mouse-click", this, &FGPanelNode::panelMouseClickCommand);
+    globals->get_commands()->addCommand("panel-mouse-click", this, &FGPanelNode::panelMouseClickCommand);
 
     SGPropertyNode* pathNode = fgGetNode("/sim/panel/path");
     _pathListener.reset(new PanelPathListener(this));
@@ -185,7 +189,7 @@ FGPanelNode::FGPanelNode() :
 FGPanelNode::~FGPanelNode()
 {
     if (_is2d) {
-        SGCommandMgr::instance()->removeCommand("panel-mouse-click");
+        globals->get_commands()->removeCommand("panel-mouse-click");
         SGPropertyNode* pathNode = fgGetNode("/sim/panel/path");
         pathNode->removeChangeListener(_pathListener.get());
     }