Okay so I've noticed that this works fine if I don't link against
c++0x... Unfortunately I use some c++0x container classes pretty
extensively throughout my application.
The above segmentation fault happened on 3.0.1. I also have a version
from git (from a month ago probably, don't have the revision handy,
but just thought I'd try something newer) that I built against.
I got more strangeness; the application didn't even start without seg
faulting with std=c++0x passed to the compiler. If I leave that out,
it works perfectly. Here's the stacktrace on the newer build:
(gdb) backtrace
#0 0x00007ffff78763ec in
OpenThreads::ScopedLock<OpenThreads::Mutex>::ScopedLock(OpenThreads::Mutex&)
() from /home/preet/Documents/openscenegraph/lib64/libosgViewer.so.92
#1 0x00007ffff721c8a4 in
osgGA::EventQueue::takeEvents(std::list<osg::ref_ptr<osgGA::GUIEventAdapter>,
std::allocator<osg::ref_ptr<osgGA::GUIEventAdapter> > >&, double) ()
from /home/preet/Documents/openscenegraph/lib64/libosgGA.so.92
#2 0x00007ffff78d9720 in osgViewer::Viewer::eventTraversal() ()
from /home/preet/Documents/openscenegraph/lib64/libosgViewer.so.92
#3 0x00007ffff78e1b46 in osgViewer::ViewerBase::frame(double) ()
from /home/preet/Documents/openscenegraph/lib64/libosgViewer.so.92
#4 0x000000000041c8f3 in Viewport::paintGL (this=0x8ee410)
at ../../libosmscout-render/mapviewer/viewport.cpp:72
#5 0x00007ffff55dbc90 in QGLWidget::glDraw() ()
This one seems to be a threading issue, even though I set osgViewer's
mode to be single threaded, and my application doesn't use threading.
I've used c++0x with the default viewer (no GraphicsWindowEmbedded,
just osg doing everything by default with X11) without any problems
with the default camera manipulator.
So for some reason c++0x + GraphicsWindowEmbedded isn't working out
too well for me. Does anyone have any suggestions?
Preet
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org