bgribble/mfp

TAB to select-next causes mfp to lock up

Closed this issue · 3 comments

:(

Don't know when this was introduced, probably pretty recently.

The immediate problem is that when I call GtkClutterEmbed.grab_focus it doesn't return. It's never been a problem before. Not sure what has changed underneath.

I'm pretty sure this is related to Debian unstable deploying clutter-1.22.2 at the end of May. I noticed this bug the first time I started working with mfp after that upgrade.

Looks like something changed in the Clutter/Gtk interaction with the Clutter 1.22 release. We used to just look for Gtk stealing focus on TAB or cursor keys, which it is very persistent about, and then would just call grab_focus to take it back. This doesn't work any more. So the commit above does this the "right" way, intercepting the Gdk key event before Gtk can change focus with it, then synthesizing a Clutter key event and running that through the input handler.

I'll keep an eye out for other keys that can steal focus, but so far this looks like the right approach and the app is working again. Closing this issue with derogatory tags :)