Replying to myself ... I've also tried the sample program attached to the previous email on Linux and get the same problem, so this is not Windows-specific. Any lights on this issue ?
Cheers Thibault On Mon, May 18, 2009 at 3:51 PM, Thibault Genessay <[email protected]> wrote: > Hi all > > There is something strange (feature or bug?) in the way the > osgViewer::CompositeViewer dispatches events to the windows. When > there are multiple windows, each containing a single view to a single > scene, the events do not seem to be routed to the proper view. I found > what I guess is the guilty: the CompositeViewer::eventTraversal() > method. There is a concept of "master view", which seems to be related > to the "view having the focus", and this view gets all events, > whatever the actual GraphicsContext that generated it. > > In GraphicsWindowWin32, the events are handled in a per-HWND basis and > put in the window's EventQueue. Then the CompositeViewer takes all > these events and remaps them (through the viewEventsMap). They are > then sent to the remapped window instead of the original window. > > I'm sure there is a good reason why this remapping takes place, but in > practice this causes problems as shown in the attached example. It > creates two windows and attaches an event handler that catches RESIZE > events, printing the name of the window ("small" or "big") and the > size (200x200 or 400x400). If you move the windows around (WM_MOVE and > WM_SIZE both generate RESIZE events), you will sometimes see > - correct output, i.e. "small resized to 200x200" or "big resized to 400x400" > - and incorrect output, e.g. "small resized to 400x400" > When I move the big window around, the output is correct the first > time, incorrect the second time - the OSG's internal focus might have > changed. > > I haved used the CompositeViewer in the past, but embedded in > wxWidgets, and I would get the RESIZE events from wxWidgets, not from > the OSG so this behaviour went unnoticed for me until now. If it is a > bug, I don't want to start modifying anything since I don't have all > CompositeViewer usage scenarii in mind. If it is a feature, do you > know what I am doing wrong ? > > I'm working on the latest SVN, Win32, VC9. > > Cheers > > Thibault > _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

