[osg-users] CompositeViewer and GUIEventAdapter returning the wrong GraphicsContext?

OpenSceneGraph Users osg-users at lists.openscenegraph.org
Mon Oct 5 09:30:08 PDT 2020

On Sat, 3 Oct 2020 14:32:35 +0100
OpenSceneGraph Users
<osg-users at lists.openscenegraph.org> wrote:

> I'm seeing a problem when using CompositeViewer where an event handler
> is being called with osgGA::GUIEventAdapter::RESIZE but
> sometimes (maybe 25% of the time)
> osgGA::GUIEventAdapter::getGraphicsContext() seems to return the wrong
> osg::GraphicsContext*.

These problems appear to go away if i build with openscenegraph-3.6.5.

Commit e17f1c4e317 might have been the fix, but i haven't checked:

    Refactored the handling if RESIZE, CLOSE, QUIT AND USER events so
    they are dispatched to all views associated with a window, or all
    views associated with a CompositeViewer

- Jules

> This is with Flightgear, which i've recently modified to use
> CompositeViewer.
> A similar thing happens when closing windows - sometimes Flightgear is
> being told that the main window has been closed, when actually it's
> only a secondary window. Or that the wrong secondary window has been
> closed.
> And there's another possibly related problem where calling
> GraphicsContext::valid() returns false when a different window has
> been recently closed.
> The problem occurs with openscenegraph-3.4.1 on OpenBSD and
> openscenegraph-3.4 on Linux. Both systems are running fvwm.
> Does anyone have any idea what could be going on, or suggestions for
> how to investigate things further?
> Thanks,
> - Jules


More information about the osg-users mailing list