So some further investigation has revealed that the problem I've been having
with the wxglcanvas is an issue of keyboard focus. For some reason, the
canvas never gets the keyboard focus in ter'angreal when using my compiled
wxgl.dll. Same deal with wxtest (there's a weird 1x1 window that has the
focus by default. If I remove that window, so the canvas is the only window,
and therefore must have the focus, everything works fine!). The
wxwidgets/samples/opengl/cube application works fine, but it's the only
window as well, so I can't tell yet if it's a wxwidgets or a CS issue.

Using Spy++ on windows, it looks like the windows installer-packaged version
of Ter'Angreal (0.23) Sends WM_SETFOCUS messages to the canvas whenever
there's any mouse event over it. This is evidenced by the fact that the
cursor disappears from the chat box if the focus was there previously. In
the version I compile, no such messages get sent to the canvas ever, and the
focus stays where it was. No setfocus messages get sent in the case of
wxtest or the cube sample program, either...

So what I conclude from this is that -- for some reason -- there was some
code in the wxgl.dll included with the binary installation package for
windows that automatically sets the focus to the canvas on mouse events (or
there's some windows property on the canvas or one of its parents that
causes this to happen -- but as far as I could tell the windows properties
were identical). Perhaps an older version of wxwidgets did this
automatically, and they removed it? Perhaps the solution is simply to manage
the focus explicitly in Ter'angreal?

-Ken


_______________________________________________
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d

Reply via email to