GNOME Bugzilla – Bug 337814
gestures blocking X with gtk+ 2.8.17
Last modified: 2006-04-12 09:25:15 UTC
gtk+ 2.8.17 introduced some changes to grab-notify workings, as a result gestures are getting stuck; button releases, presses, key presses, nothing helps. The only way to use any application again is to switch to another console and kill epiphany. What seems to happen is that grab_notify_cb() is called with was_grabbed=FALSE, something that didn't happen previously, and then the whole X is stuck. Either adding 'if (was_grabbed)' in grab_notify_cb() or using priv->window when connecting to 'grab-notify' (like for all other signals) fixes this for me and seems to work also with older gtk versions. However I don't quite understand how everything is expected to play along here...
Does the same thing happen in EphyNotebook (on 2.14), which also watches grab-notify ?
No, it works fine.
mclasen: CC:ing you just so you're aware of this... I'm fully prepared to be told it's just a bug in epiphany-extensions code; but it's a bit troubling that just upgrading gtk+ makes our code break completely...
Ok, just to make sure I understand. You have problems because your grab-notify handler does not pay attention to was_grabbed ? Or does it get stuck even if you do pay attention to it ? The changes in 2.8.17 make grab-notify behave as it was originally intended. At some point in the 2.2/2.4 timeframe, a change was made which causes us to emit grab-notify not often enough, which e.g. made us vulnerable to assertions in the text view code.
It may be that ephy sets up / tears down the grab wrongly somehow and that's why it gets stuck. Prior to .17 grab-notify was not emitted, and now it is emitted with was_grabbed=FALSE -- so checking was_grabbed simply makes it behave as before. I wonder whether the gestures code actually needs to do pointer and keyboard grabs? From what I quickly tried it seems that gtk_grab_add alone would suffice.
*** Bug 338103 has been marked as a duplicate of this bug. ***
Fix released with Ephy-Ext 2.14.1 * Fix gestures, auto-scroller and push-scroller extensionwith gtk+ 2.8.17 (#337814) Feel free to reopen it you still have the issue.
*** Bug 338016 has been marked as a duplicate of this bug. ***
*** Bug 338185 has been marked as a duplicate of this bug. ***