Hi Gianni,

The return value is not used in this particular code block simply
because there is nothing to do differently on the return value,
whether it's true or false makes no difference to the CompositeViewer,
there simply is no need to check it.  Places where the return value is
relevant there will code to handle the return value.

Not quite sure what you are expecting to happen w.r.t return type.
The code is fine.

Robert.

On 25 August 2016 at 16:33, Gianni Ambrosio <[email protected]> wrote:
> Hi All,
> is there anybody that can explain me please why (at least in OSG 3.4.0) in 
> CompositeViewer.cpp, inside eventTraversal() method, the return value of 
> GUIEventHandle::handle(...) is not used?
> Here is a code snippet:
>
>
> Code:
>
>     for(ViewEventsMap::iterator veitr = viewEventsMap.begin();
>         veitr != viewEventsMap.end();
>         ++veitr)
>     {
>         View* view = veitr->first;
>         _eventVisitor->setActionAdapter(view);
>
>         for(osgGA::EventQueue::Events::iterator itr = veitr->second.begin();
>             itr != veitr->second.end();
>             ++itr)
>         {
>             osgGA::Event* event = itr->get();
>             for(View::EventHandlers::iterator hitr = 
> view->getEventHandlers().begin();
>                 hitr != view->getEventHandlers().end();
>                 ++hitr)
>             {
>                 (*hitr)->handle( event, view, _eventVisitor.get());
>             }
>         }
>     }
>
>
>
>
> Please look at the line:
> (*hitr)->handle( event, view, _eventVisitor.get());
>
> While GUIEventHandler::handle method returns bool as you can see in the 
> following code:
>
>
> Code:
>
> bool GUIEventHandler::handle(osgGA::Event* event, osg::Object* object, 
> osg::NodeVisitor* nv)
> {
>     osgGA::EventVisitor* ev = dynamic_cast<osgGA::EventVisitor*>(nv);
>     osgGA::GUIEventAdapter* ea = event->asGUIEventAdapter();
>     if (ea && ev && ev->getActionAdapter())
>     {
> #if 1
>         bool handled = handle(*ea, *(ev->getActionAdapter()), object, nv);
>         if (handled) ea->setHandled(true);
>         return handled;
> #else
>
>
>
>
> Regards,
> Gianni
>
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=68446#68446
>
>
>
>
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to