* Vivian Meazza -- Sunday 17 June 2007:
> That's done - the patches are attached. The are NOT formatted properly, so
> no rants about tabs, spaces or trailing spaces.

That's OK for the old code (and less so for the added code. :-}
Meanwhile the files for the base package are available, too (even
committed), so testing is actually possible.


The patches applied cleanly and compiled with a few warnings. I found
only minor things to fix:

- dead but uncommented code in one case   [if (foo && false) ...]
- redundant assignments   [float x = 0; x = foo->getFloatValue();]
- compiler warnings

I didn't thoroughly review (nor understand ;-) all the code, especially
not the OSG parts, but I trust Tim. Also, the patches don't touch
much other code, so I wouldn't be worried about it.


The patch did not work for me at first, because (like other developers,
I guess) I'm using /sim/sceneryloaded-override. This prevented that
/sim/sceneryloaded ever became "true", while od_gauge waited exactly
for that. This is meanwhile fixed (main.cxx).


After that the code worked in both fg/plib and fg/osg, but in
fg/plib I get a segfault on exit, which comes from RenderTexture.cpp.
That's quite a hairy piece of code, and I'm not really competent to
fix it. I checked on the net if newer RenderTexture implementations
have that code part fixed, but this is not the case.


#0  0x7773612f in ?? ()
#1  0xb7c4f52f in _X11TransWritev () from /usr/lib/libX11.so.6
#2  0xb7c54f21 in _XSend () from /usr/lib/libX11.so.6
#3  0xb7c4625b in XQueryExtension () from /usr/lib/libX11.so.6
#4  0xb7c3ab0b in XInitExtension () from /usr/lib/libX11.so.6
#5  0xb6ffb0f3 in XextAddDisplay () from /usr/lib/libXext.so.6
#6  0xb7db368e in glXChannelRectSyncSGIX () from /usr/lib/libGL.so.1
#7  0x08a69258 in ?? ()
#8  0x08b008c0 in ?? ()
#9  0xb7de2eb5 in std::basic_streambuf<char, std::char_traits<char> 
>::showmanyc () from /usr/lib/libGL.so.1
#10 0xb7df2dc0 in std::basic_streambuf<char, std::char_traits<char> 
>::showmanyc () from /usr/lib/libGL.so.1
#11 0x00000011 in ?? ()
#12 0x08b008c0 in ?? ()
#13 0x1137ead8 in ?? ()
#14 0x08589295 in RenderTexture::_Invalidate (this=0xb7db5fe0) at 
simgear/screen/RenderTexture.cpp:848
#15 0x0858ea8f in ~RenderTexture (this=0x1137ead8) at 
simgear/screen/RenderTexture.cpp:204
#16 0x083b9e22 in ~FGODGauge (this=0xb45e518) at 
src/Instrumentation/od_gauge.cxx:89
#17 0x085d6b2d in ~Member (this=0xd1ea7a0) at 
simgear/structure/subsystem_mgr.cxx:227
#18 0x085d7ba9 in ~SGSubsystemGroup (this=0xb7dadb67) at 
simgear/structure/subsystem_mgr.cxx:85


So, applying the patches for fg/plib would mean to replace a
cheesy but not-crashing radar implementation by a nice but
crashing one. I don't say that the radar patch is buggy, it's
just the old render-to-texture feature. (It's also not my
graphics card driver, as Qt4 has no problems with RTT.)

I would very much like to apply the patches, but I think the crash
should be fixed first. (Or should the fg/osg patches go in, anyway?)

m.

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to