Hi Robert, I know there are many things already going on toward OSG 3.6.0, but if you get a change to take a look to the sample I've sent, it might be worth considering possible fixes before the new release is out.
Thank you, Riccardo On Mon, Aug 29, 2016 at 6:45 PM, Robert Osfield <[email protected]> wrote: > Thanks Riccardo. I'm currently submerged in refactoring osgParticle, > once this is completed I'll have a look at the modified > osgcallback.cpp. > > On 29 August 2016 at 16:20, Riccardo Corsi <[email protected]> > wrote: > > Hi Robert, > > > > please find attached a simple example that shows the issues I was trying > to > > explain: > > - launch with no args to see the initial issue > > - launch with "--crash" to get the crash i ran into when implementing the > > callback deriving from osg::Callback > > - launch with "--fix" to see the way I fixed it with the NodeCallback: > > comments on the run() and operator() methods explain some concerns for > this > > solution > > > > Hope this clarifies things :) > > Ricky > > > > > > On Mon, Aug 29, 2016 at 4:29 PM, Robert Osfield < > [email protected]> > > wrote: > >> > >> Hi Ricky, > >> > >> The changes to Drawable and the knock on effect to the callbacks is an > >> awkward one - it would be easy if it we could just discard backwards > >> compatibility, so it's a far from ideal code, but alas you can't > >> rewrite history once it's happened. > >> > >> From your description I don't have a clear idea of what is being > >> called twice and whether this is a problem. Could you create a small > >> example that illustrates the problem, once I can see first hand I can > >> review the behaviour and decide whether this is acceptable or is an > >> bug. > >> > >> Thanks, > >> Robert. > >> > >> On 29 August 2016 at 15:00, Riccardo Corsi <[email protected]> > >> wrote: > >> > Hi all, > >> > > >> > I report what I believe could be considered a bug, probably introduced > >> > after > >> > the promotion of the Drawable class to a node, together with the new > >> > callback system. > >> > > >> > I have a GUIEventHandler derived class installed on a Drawable. > >> > After some digging I've realized that it's called twice for every > event > >> > due > >> > to the EventVisitor code here: > >> > > >> > https://github.com/openscenegraph/OpenSceneGraph/ > blob/master/include/osgGA/EventVisitor#L86 > >> > > >> > GUIEventHandler happens to derive both from NodeCallback and > >> > DrawableEventCallback, resulting in it being called twice. I think > this > >> > might be considered as a bug if the intended behavior was to keep > using > >> > the > >> > old GUIEventHandler interface the way it was (when attached to the > >> > viewer > >> > for instance, it is called only once as expected). > >> > > >> > Relate issue: > >> > I've re-implemented my callback deriving from osg::Callback, but this > >> > results in a crash as the osg::CallbackObject interface is used even > if > >> > the > >> > cast does not succeed (first if condition) > >> > > >> > https://github.com/openscenegraph/OpenSceneGraph/ > blob/master/include/osgGA/EventVisitor#L93 > >> > > >> > I fixed that by deriving from osg::NodeCallback, but I had to > >> > reimplement > >> > the operator() method instead of run(), as the second is not called by > >> > the > >> > visitor - that also it's a bit counter-intuitive with respect to the > >> > osg::Callback class interface. > >> > > >> > Ricky > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > _______________________________________________ > >> > 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 > > > > > > > > _______________________________________________ > > 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 >
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

