Jean-Marc Lasgouttes wrote: >>>>>> "Peter" == Peter Kümmel <[EMAIL PROTECTED]> writes: > > Peter> I've reproduced the error and fixed it. The problem was, not > Peter> only page up/down keys were dropped. This code does not work > Peter> (because of the implicit casts?) > > Peter> static const int delayed_keys = Qt::Key_PageDown | > Peter> Qt::Key_PageUp; if (e->key() & delayed_keys) { > > I know this stuff is very difficult to get right, but I do not like at > all the idea of testing explicitely qt::pageup/down. We should not > depend on these hardcoded keys. For example, your patch will fail for > people who use the emacs bindings and use Ctrl+v for page down. I am > not asking for adding another case for Ctrl+v (!) but I'd prefer a > solution which does not take this into account (especially since I do > not understand why only PageDown would be a problem (why is paragraph > down not a problem?) > > JMarc >
Yes, I also don't like the hardcoding. The problem is that if we start to drop events we have to differentiate between good and bad events, and it is hard to find a solution for all cases. So it would be better not to drop any key. But what is the alternative? A XSync call could block the main thread, but suppresses it the auto generated key events? Does it not eat user generated events? Peter