https://bugs.kde.org/show_bug.cgi?id=501315
small parking <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] | |g --- Comment #6 from small parking <[email protected]> --- I analyzed the root cause of this bug. The issue is in kcms/touchpad/backends/x11/xlibbackend.cpp. The XlibBackend never connects the LibinputTouchpad::needsSaveChanged signal to TouchpadBackend::needsSaveChanged. Without this connection, the KCM's onChanged() is never called on X11 when the user modifies a setting, so the Apply button stays greyed out (or appears active but does nothing). This is missing in two places: 1. In the constructor (~line 37): after m_device is created, there is no connect(m_device.get(), &LibinputTouchpad::needsSaveChanged, this, &TouchpadBackend::needsSaveChanged). 2. In XlibBackend::devicePlugged() (~line 272): after the new device is set up, the same connect is missing. The libinput (Wayland) backend has this connect in both places — it was simply overlooked in the X11 backend. Fix (two lines): // In XlibBackend::XlibBackend(), after the existing connects: connect(m_device.get(), &LibinputTouchpad::needsSaveChanged, this, &TouchpadBackend::needsSaveChanged); // In XlibBackend::devicePlugged(), after the existing connects for the new device: connect(m_device.get(), &LibinputTouchpad::needsSaveChanged, this, &TouchpadBackend::needsSaveChanged); I have tested this fix locally on Plasma 6.7.3 (Arch Linux, X11) and it resolves the issue — the Apply button now lights up when settings are changed and properly saves them. -- You are receiving this mail because: You are watching all bug changes.
