https://bugs.kde.org/show_bug.cgi?id=501267
Igor Kushnir <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Version Fixed In| |6.20 Latest Commit| |https://invent.kde.org/fram | |eworks/knewstuff/-/commit/4 | |e711ba080361561c7b2c212dad9 | |2ba98dbfa2a1 Resolution|--- |FIXED Status|ASSIGNED |RESOLVED --- Comment #6 from Igor Kushnir <[email protected]> --- Git commit 4e711ba080361561c7b2c212dad92ba98dbfa2a1 by Igor Kushnir. Committed on 20/10/2025 at 18:51. Pushed by igorkushnir into branch 'master'. Don't make KNSWidgets::Button the parent of KNSWidgets::Dialog Clicking some instances of KNSWidgets::Button in KDevelop and K3b fails to open the KNSWidgets::Dialog, closes the dialog that contains the button after a few seconds, and leaves the application UI unresponsive to mouse input. Keyboard navigation and shortcuts keep working. Showing any other dialog via keyboard shortcuts makes mouse input work in the application again. Clicking a KNewStuff button in Parley, KLettres and KsirK also fails to open the KNSWidgets::Dialog and makes the application UI unresponsive to both mouse and keyboard input. Pressing the Escape key restores normal responsiveness. This second bug occurs under Xfce but not under KDE Plasma. Many other instances of KNSWidgets::Button in KDE applications work correctly for some reason. The few KNSWidgets::Action instances that I have tested are unaffected by such bugs. More details about the issues described above can be found in my comments under the linked bug report. The passing of a parent to KNSWidgets::Dialog() is the only significant difference between the management of a KNSWidgets::Dialog instance by KNSWidgets::Button and KNSWidgets::Action. This commit eliminates the difference and thereby works around both input responsiveness bugs described above except in KLettres. That's because KLettres uses KNSWidgets::Dialog directly rather than KNSWidgets::Button, and therefore requires a custom workaround. KNSWidgets::Button stores its instance of KNSWidgets::Dialog in a unique_ptr. Therefore the now parentless dialog is still destroyed along with the button. The absence of a parent may affect the location of the dialog, but I think that the difference is not very important. FIXED-IN: 6.20 M +1 -1 src/widgets/button.cpp https://invent.kde.org/frameworks/knewstuff/-/commit/4e711ba080361561c7b2c212dad92ba98dbfa2a1 -- You are receiving this mail because: You are watching all bug changes.
