Version: unknown (using KDE 3.1.94 (CVS >= 20031206), compiled sources) Compiler: gcc version 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk) OS: Linux (i686) release 2.4.22-10mdk If you use the space bar to change the status of a checkbox, the checkbox will be checked/unchecked, as well as the page scrolling now. I've attached a testcast (with alot of br tags to make sure the page has a scrollbar). Just click on the check box once, the press space to change the status, and have have the page scrolled down.
Created attachment 3713 [details] testcase
Confirmed. I don't believe this to be the intended behaviour. Hence, it's a bug.
just tested 3.1 without success
Hmm, the bug is in QCheckBox IMHO. It calls e->ignore() on the Key_Space keyevent after calling setDown(), so the event is sent to the parent widget.
I meant the key handling in QButton (from which QCheckBox derives)
Created attachment 4175 [details] Patch My investigation was completely wrong... The bug is in KHTML. When handling an event in a form element, we need to set the event to "default handled" so that KHTMLView knows that it shouldn't do the default handling itself (e.g. scrolling down, for the space key).
Created attachment 4183 [details] Doh!
Applied to CVS HEAD
Please backport the fix.