]> git.mxchange.org Git - flightgear.git/blobdiff - src/Scenery/scenery.cxx
don't destroy iterated map entries; delete _menubar; restore closed
[flightgear.git] / src / Scenery / scenery.cxx
index 88badf93eea9498ce85dc92804f8071ef04a3526..183826b27b32073488faebe702deef9342566a1c 100644 (file)
@@ -100,7 +100,7 @@ void FGScenery::bind() {
 void FGScenery::unbind() {
 }
 
-void FGScenery::set_center( Point3D p ) {
+void FGScenery::set_center( const Point3D& p ) {
     center = p;
     sgdVec3 c;
     sgdSetVec3(c, p.x(), p.y(), p.z());
@@ -123,8 +123,8 @@ void FGScenery::unregister_placement_transform(ssgPlacementTransform *trans) {
     placement_list_type::iterator it = _placement_list.begin();
     while (it != _placement_list.end()) {
         if ((*it) == trans) {
-            (*it)->deRef();
             it = _placement_list.erase(it);        
+            ssgDeRefDelete(trans);
         } else
             ++it;
     }
@@ -146,7 +146,7 @@ FGScenery::get_elevation_m(double lat, double lon, double max_alt,
 }
 
 bool
-FGScenery::get_cart_elevation_m(const sgdVec3 pos, double max_altoff,
+FGScenery::get_cart_elevation_m(const sgdVec3& pos, double max_altoff,
                                 double& alt, bool exact)
 {
   Point3D saved_center = center;