[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: PCB: window focus bug in GL branch?



On Wed, 2009-11-11 at 08:04 -0500, Ethan Swint wrote:
> 
> On 11/10/2009 09:47 PM, Peter Clifton wrote:
> > On Tue, 2009-11-10 at 13:15 -0500, Ethan Swint wrote:
> >    
> >> I just did a git fetch&  build today from Peter's GL branch - many kudos
> >> again! - but I'm getting a few "features" in my zooming activity.  The
> >> first is reproducible by
> >> 1) open PCB layout
> >> 2) Swap application focus
> >> 3) Use Alt+TAB to return focus to PCB.
> >> 4) Use scroll wheel to zoom
> >>
> >> The menu bars around the drawing area gray out and don't return,
> >> although you can zoom in and out all day long.  Gone also is the command
> >> interface or any other action.  I have seen this behavior on the GTK
> >> interface, as well.
> >>      
> > I think that is a bug in the GTK HID as well, as I've not touched any of
> > that code. It would be a good one to get fixed though!
> >
> >    
> Any idea where that might be located?  I'm willing to work out a patch 
> for it!

Not sure, but probably related to the seemingly unreasonably complex
code in src/hid/gui-output-events.c functions:

ghid_port_window_leave_cb (...)
and
ghid_port_window_enter_cb (...)


Perhaps the window-manager / X server is issuing Window enter / leave
events which are (ev->mode != GDK_CROSSING_NORMAL) for alt-tab into the
window without your mouse cursor crossing its sedge.

See:

http://library.gnome.org/devel/gdk/unstable/gdk-Event-Structures.html#GdkEventCrossing

I wonder if our special cases to avoid processing focus grabs are not
"special" enough.

Note that some new status flags were added in GTK 2.14 (which you might
be using)..

"
GDK_CROSSING_GTK_GRAB, GDK_CROSSING_GTK_UNGRAB,
and GDK_CROSSING_STATE_CHANGED were added in 2.14 and are always
synthesized, never native.
"

I'm curious to know whether we ought to be responding to some
GDK_CROSSING_STATE_CHANGED events.



> Any further suggestions for debugging this?  It makes DRC completely 
> unusable for me - once I see the errors, I can't correct them and have 
> to restart PCB.

I'm not sure, sorry. Perhaps it is related to the first bug though?




_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user