I agree with you, event focus needs more scrutiny.
The easiest way to reproduce the bug that I was seeing regarding resize is
via the attached simple sample program. I've included the project, etc. for
Visual Studio but since there is only one source file you shouldn't have
much trouble compiling on Linux.
To produce the bug, click on the view in window one (that view receives
"focus") then resize the window frame of window two without mousing over the
view within window two. When you do the resize you should see the HUD in
view1/window1 resize (it shouldn't!!)
[mailto:] On Behalf Of
Sent: Tuesday, May 03, 2011 3:57 AM
To: OpenSceneGraph Submissions
Subject: Re: CompositeViewer bug
I've reviewed your changes and they make me feel like I really need to spend
some time rethinking the management of the event focus. Neither your
changes or the original feel like clean solution.
Could you please outline how I can reproduce the bugs that you've seen then
I can think about these. I must admit I'm a bit cold on the whole topic of
CompositeViewer and event focus so will need a little time to get back up to
speed and make a good decision about how to go forward - knowing how to
recreate the problems will help ramp up quicker.
On Tue, May 3, 2011 at 12:06 AM, Brad Huber <> wrote:
Actually the fix needs be more like what is attached. Please
disregard the attachments to my first email about this same bug.
In addition to the bug description below, when a RESIZE event is
received CompositeViewer currently does setCameraWithFocus(0); and
does not change masterView (it should!!). This fix addresses that.
I look forward to hearing if there is a better fix for this issue
[mailto:] On Behalf Of
Sent: Monday, May 02, 2011 3:24 PM
Subject: CompositeViewer bug
Ive attached a fix to a bug I discovered in CompositeViewer which
allowed some GUI events to get sent to the wrong view. The attachment
is duplicated in both .zip and .gz forms for convenience. This
behavior was observed on a Windows machine and I did not test on any
other OSes but I suspect it does exist on the other OSes as well.
I apologize if my submission is not quite in the right form. I tried
to look online for a writeup about the submission protocol but the osg
website was apparently down.
A description of the bug:
When using composite viewer, if getViewWithFocus() was NULL then
masterView would get set to _views. In the case where you resize
the window frame (and you have not moused over any views within that
window) then the resize event would mistakenly get sent to _views
which was in a different window altogether. I address this by setting
masterView to the first view found within the graphics window instead.
PS I dont know if this is the best/correct fix, or if something else
should be done instead. It seems to fix the problem for me.
Post generated by Mail2Forum