Handling of default button in KDialog broken
Allen Winter
winter at kde.org
Fri Dec 19 15:46:41 GMT 2008
On Friday 04 July 2008 9:08:36 am Lubos Lunak wrote:
> Hello,
>
Lubos,
Whatever happened to this patch? Did you commit it?
-Allen
> could somebody please review the attached patch? It appears that KDialog
> has a bug with (not) setting the default button properly, which has been
> there since about forever.
>
> A demo of this bug is the timeout dialog after you enable compositing for
> KWin. If compositing setup fails for any reason and all you get is e.g. a
> black screen, it's quite possible that instead of waiting those 10 seconds
> for the dialog to revert (about which you may not know if you can't see the
> dialog) you will start hitting "random" keys on the keyboard, say Enter or
> Space, and will actually confirm the dialog. Even though the default button
> is the cancel one.
>
> The KDialog code has some function called setButtonFocus(), which however
> seems to be just a thin wrapper used for confusing things. Making a button
> default does not set focus to it, making it useless in many cases. It
> appears that e.g. KMessageBox works this around by explicitly later setting
> focus to the button (which however actually resets the button from being
> the default). I suggest the attached patch, which will normally make
> default buttons focused by default (and consistent with
> QMessageBox::setDefaultButton()).
>
> Does somebody see a problem with it?
More information about the kde-core-devel
mailing list