Hi Robert,

For sure I'm using OSG 2.5.2 and removeView is :

void CompositeViewer::removeView(osgViewer::View* view)
{
    for(RefViews::iterator itr = _views.begin();
        itr != _views.end();
        ++itr)
    {
        if (*itr == view)
        {
            bool threadsWereRuinning = _threadsRunning;
            if (threadsWereRuinning) stopThreading();

            view->_viewerBase = 0;

            _views.erase(itr);

            if (threadsWereRuinning) startThreading();

            return;
        }
    }
}
But stopThreading() is only called if _threadsRunning is true, wich is not
the case because as I said in a previous post we return before setting this
variable to true in void ViewerBase::startThreading() function if we are in
SingleThreaded mode.

So in this case (SingleThreaded) stopThreading() is not call, neither is
startThreading().

Kind regards,



2008/6/23 Robert Osfield <[EMAIL PROTECTED]>:

> Hi Alex,
>
> Checking svn logs we have:
>
> r6652 | robert | 2007-05-11 20:25:44 +0100 (Fri, 11 May 2007) | 6 lines
>
> Added new areThreadsRunning() method to Viewer and CompositeViewer.
>
> Added removeView(View*) method to CompositeViewer
>
> Added stopping/starting of threads in addView/removeView
>
>
> Which takes us back to over a year ago, the stop/startThreading() was
> added to add/removeView().  Are you using an older version of the OSG
> that one 2.2?
>  _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>



-- 
Alexandre AMALRIC Ingénieur R&D
===================================
PIXXIM S.A. 73E, rue Perrin-Solliers 13006 Marseille
http://www.pixxim.fr
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to