* Melchior FRANZ -- Thursday 23 March 2006 13:40:
> * Melchior FRANZ -- Thursday 23 March 2006 12:42:
> > There are apparently two reasons:
> > (a) the concorde doesn't work with jsbsim 2.0 yet, and aborts
> > (b) this crashes fgfs (but why?)
> 
> One could assume that it's because FDM/JSBSim.[ch]xx uses a lot of
> unguarded pointers to SGPropertyNode-s [...]

Fixed.

And right that was the cause! Storage of a node pointer as
SGPropertyNode* instead of SGPropertyNode_ptr -- not in the
JSBSim code, but the panel code. It's just a question of time,
though, until the same bug in JSBSim bites us in the ass in
the same way. Please fix. (see attachment)

m.
Index: JSBSim.hxx
===================================================================
RCS file: /var/cvs/FlightGear-0.9/FlightGear/src/FDM/JSBSim/JSBSim.hxx,v
retrieving revision 1.16
diff -u -p -r1.16 JSBSim.hxx
--- JSBSim.hxx	12 Jan 2006 15:04:22 -0000	1.16
+++ JSBSim.hxx	23 Mar 2006 15:16:52 -0000
@@ -226,40 +226,40 @@ private:
     double trim_elev;
     double trim_throttle;
 
-    SGPropertyNode *startup_trim;
-    SGPropertyNode *trimmed;
-    SGPropertyNode *pitch_trim;
-    SGPropertyNode *throttle_trim;
-    SGPropertyNode *aileron_trim;
-    SGPropertyNode *rudder_trim;
-    SGPropertyNode *stall_warning;
-
-    /* SGPropertyNode *elevator_pos_deg;
-    SGPropertyNode *left_aileron_pos_deg;
-    SGPropertyNode *right_aileron_pos_deg;
-    SGPropertyNode *rudder_pos_deg;
-    SGPropertyNode *flap_pos_deg; */
-
-
-    SGPropertyNode *elevator_pos_pct;
-    SGPropertyNode *left_aileron_pos_pct;
-    SGPropertyNode *right_aileron_pos_pct;
-    SGPropertyNode *rudder_pos_pct;
-    SGPropertyNode *flap_pos_pct;
-    SGPropertyNode *speedbrake_pos_pct;
-    SGPropertyNode *spoilers_pos_pct;
-
-    SGPropertyNode *gear_pos_pct;
-
-    SGPropertyNode *temperature;
-    SGPropertyNode *pressure;
-    SGPropertyNode *density;
-    SGPropertyNode *turbulence_gain;
-    SGPropertyNode *turbulence_rate;
-
-    SGPropertyNode *wind_from_north;
-    SGPropertyNode *wind_from_east;
-    SGPropertyNode *wind_from_down;
+    SGPropertyNode_ptr startup_trim;
+    SGPropertyNode_ptr trimmed;
+    SGPropertyNode_ptr pitch_trim;
+    SGPropertyNode_ptr throttle_trim;
+    SGPropertyNode_ptr aileron_trim;
+    SGPropertyNode_ptr rudder_trim;
+    SGPropertyNode_ptr stall_warning;
+
+    /* SGPropertyNode_ptr elevator_pos_deg;
+    SGPropertyNode_ptr left_aileron_pos_deg;
+    SGPropertyNode_ptr right_aileron_pos_deg;
+    SGPropertyNode_ptr rudder_pos_deg;
+    SGPropertyNode_ptr flap_pos_deg; */
+
+
+    SGPropertyNode_ptr elevator_pos_pct;
+    SGPropertyNode_ptr left_aileron_pos_pct;
+    SGPropertyNode_ptr right_aileron_pos_pct;
+    SGPropertyNode_ptr rudder_pos_pct;
+    SGPropertyNode_ptr flap_pos_pct;
+    SGPropertyNode_ptr speedbrake_pos_pct;
+    SGPropertyNode_ptr spoilers_pos_pct;
+
+    SGPropertyNode_ptr gear_pos_pct;
+
+    SGPropertyNode_ptr temperature;
+    SGPropertyNode_ptr pressure;
+    SGPropertyNode_ptr density;
+    SGPropertyNode_ptr turbulence_gain;
+    SGPropertyNode_ptr turbulence_rate;
+
+    SGPropertyNode_ptr wind_from_north;
+    SGPropertyNode_ptr wind_from_east;
+    SGPropertyNode_ptr wind_from_down;
 
     void init_gear(void);
     void update_gear(void);

Reply via email to