]> git.mxchange.org Git - flightgear.git/blobdiff - src/Cockpit/built_in/FGMagRibbon.cxx
Merge branch 'jmt/gps'
[flightgear.git] / src / Cockpit / built_in / FGMagRibbon.cxx
index 7f3f8ceb1175861196bff20b64c6d1d0c593b189..a05db18ae50db9f671a41d3ea44f2fe08117cb74 100644 (file)
@@ -36,7 +36,7 @@ FGMagRibbon::FGMagRibbon (int w, int h)
 }
 
 void
-FGMagRibbon::draw ()
+FGMagRibbon::draw (osg::State& state)
 {
   double heading = _magcompass_node->getDoubleValue();
   double xoffset, yoffset;
@@ -71,10 +71,16 @@ FGMagRibbon::draw ()
   FGCroppedTexture *t = getTexture();
   t->setCrop(xoffset, yoffset, xoffset + 0.5, yoffset + 0.25);
 
-  glPushAttrib(GL_DEPTH_BUFFER_BIT);
-  glEnable(GL_DEPTH_TEST);
-  FGTexturedLayer::draw();
-  glPopAttrib();
+  static osg::ref_ptr<osg::StateSet> stateSet = new osg::StateSet;
+  stateSet->setMode(GL_DEPTH_TEST, osg::StateAttribute::OFF);
+
+  state.pushStateSet(stateSet.get());
+  state.apply();
+
+  FGTexturedLayer::draw(state);
+
+  state.popStateSet();
+  state.apply();
 }
 
 // end of FGMagRibbon.cxx