Hi Alex, Does the new View share an existing graphics context, or does it have a new graphics context?
Robert. On Mon, Jun 23, 2008 at 11:05 AM, amalric alexandre <[EMAIL PROTECTED]> wrote: > The problem is that if I do not add those lines : > > osgViewer::CompositeViewer::Windows windows; > m_rpCompoViewer->getWindows(windows); > // clear out all the previously assigned operations > for(osgViewer::CompositeViewer::Windows::iterator citr = > windows.begin();citr != windows.end();++citr) > { > if(!((*citr)->isRealizedImplementation())) > { > > (*citr)->realizeImplementation(); > } > } > > after calling addView (for the second view I add) it crashes in > > osg::getGLVersionNumber() > > at > > > std::string vs( versionstring ); > > > > because versionstring is NULL > > Adding those lines seems to resolve the problem. > Kind regards, > 2008/6/23 Robert Osfield <[EMAIL PROTECTED]>: >> >> Hi Alex, >> >> What we might have to do is extended the addView method so it handles >> situations like your more seemlessly, i.e. do the realize etc, >> however, one has to be careful about this as often you'll add views >> well before you actually want them to realize. Perhaps the best thing >> would to some kind of dirty mechanism that fires off a realize etc on >> the next frame. Just to be clear, it's the lack of realize on new >> windows you've added that is the problem? >> >> Robert. >> >> >> On Mon, Jun 23, 2008 at 10:48 AM, amalric alexandre >> <[EMAIL PROTECTED]> wrote: >> > >> > Hi robert, >> > >> > My composite viewer is set as : >> > >> > m_rpCompoViewer = new osgViewer::CompositeViewer; >> > m_rpCompoViewer->setThreadingModel(osgViewer::Viewer::SingleThreaded); >> > >> > I've found a osg message "[osg-users] Adding Views to a Running >> > CompositeViewer" wich talks about the same problem as I have. >> > >> > I've juste added the code below after calling : >> > m_rpCompoViewer->addView(rpView.get()); >> > >> > osgViewer::CompositeViewer::Windows windows; >> > m_rpCompoViewer->getWindows(windows); >> > // clear out all the previously assigned operations >> > for(osgViewer::CompositeViewer::Windows::iterator citr = >> > windows.begin();citr != windows.end();++citr) >> > { >> > if(!((*citr)->isRealizedImplementation())) >> > { >> > (*citr)->realizeImplementation(); >> > } >> > } >> > >> > and everything works fine. >> > >> > >> > 2008/6/23 Robert Osfield <[EMAIL PROTECTED]>: >> >> >> >> HI Alex, >> >> >> >> I can't work out exactly what you mean w.r.t your setup. What >> >> threading model is the viewer set up as? >> >> >> >> W.r.t SingleThreaded not setting the _threadsRunning flag... well, if >> >> it's single threaded then no extra threads will be running, so the >> >> code is perfectly correct. >> >> >> >> Also if you report a crash, please make sure you provide a stack trace >> >> as this is essential for others to be able to help look for the cause >> >> of the problem. >> >> >> >> Robert. >> >> >> >> On Mon, Jun 23, 2008 at 10:30 AM, amalric alexandre >> >> <[EMAIL PROTECTED]> wrote: >> >> > Hi osg-users, >> >> > >> >> > I maybe found a bug on CompositeViewer::addView(osgViewer::View* >> >> > view) >> >> > in >> >> > OSG 2.5.2. >> >> > >> >> > I have an application wich add and remove views on a compositeViewer >> >> > embedded in MFC windows. When I try to add a new view it crashes. >> >> > >> >> > With debug information I've noticed that in addView function >> >> > _threadsRunning >> >> > variable was always false, so that stopThreading is never called. >> >> > >> >> > I've searched why _threadsRunning was false and I've found that in >> >> > ViewerBase::startThreading(), _threadsRunning is never set to true >> >> > because >> >> > we return before at line 269 in case we're SingleThreaded, otherwise >> >> > if >> >> > we're CullDrawThreadPerContext for example we just break but we don't >> >> > return. Is it normal ? >> >> > >> >> > Kind Regards, >> >> > _______________________________________________ >> >> > osg-users mailing list >> >> > osg-users@lists.openscenegraph.org >> >> > >> >> > >> >> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >> >> > >> >> > >> >> _______________________________________________ >> >> osg-users mailing list >> >> osg-users@lists.openscenegraph.org >> >> >> >> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >> > >> > new osgViewer::CompositeViewer; >> > _______________________________________________ >> > osg-users mailing list >> > osg-users@lists.openscenegraph.org >> > >> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >> > >> > >> _______________________________________________ >> osg-users mailing list >> osg-users@lists.openscenegraph.org >> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > > _______________________________________________ > osg-users mailing list > osg-users@lists.openscenegraph.org > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org