| Summary: | If the Touchpad KCM is open via Kickoff or Krunner, the "Apply" button remains greyed out after a change | ||
|---|---|---|---|
| Product: | [Applications] systemsettings | Reporter: | Patrick Silva <bugseforuns> |
| Component: | kcm_touchpad | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | jpetso, justin.zobel, natalie_clarius, nate |
| Priority: | NOR | Keywords: | qt6 |
| Version First Reported In: | master | ||
| Target Milestone: | --- | ||
| Platform: | Neon | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/plasma/plasma-desktop/-/commit/8671deb12554b659cae119d7d6f069682dcd6221 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
Patrick Silva
2023-07-04 13:16:59 UTC
Can confirm. *** Bug 472349 has been marked as a duplicate of this bug. *** Possibly related, the header caption ("Touchpad" in the toolbar area) also doesn't show when opened with KRunner. Switching to another KCM and back makes everything work.
(In reply to Jakob Petsovits from comment #3) > Possibly related, the header caption ("Touchpad" in the toolbar area) also > doesn't show when opened with KRunner. Switching to another KCM and back > makes everything work. I found a fix for the header caption, but unfortunately it's not the same root cause as the "Apply" button failure. Sorry! Will have to keep looking. A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1623 Found the problem :) See the linked MR for more details! Git commit 8671deb12554b659cae119d7d6f069682dcd6221 by Nate Graham, on behalf of Jakob Petsovits.
Committed on 26/07/2023 at 19:10.
Pushed by ngraham into branch 'master'.
kcms/{mouse,touchpad}: Make "Apply" button work all the time
The (more or less identical) instantiations of QQuickWidget in the
libinput backends of Mouse and Touchpad KCMs are connecting the
QML file's changeSignal() to the C++ class's onChange() slot.
However, this does not work when the QQuickWidget hasn't yet
completed loading of the QML file. The signal doesn't yet exist.
As a result, when System Settings is started with kcm_mouse or
kcm_touchpad explicitly (e.g. via KRunner or CLI), onChange() is
never called and the "Apply" button remains greyed out, even if
changes are made in the UI.
The fix is to connect QQuickWidget::rootObject() only once the
QQuickWidget itself has signaled its readiness, via statusChanged().
Connecting statusChanged() is done before setSource() is called,
to eliminate any concerns about when readiness is reached.
(It could be ready immediately if the resource was already loaded!)
M +6 -1 kcms/mouse/kcm/libinput/libinput_config.cpp
M +6 -1 kcms/touchpad/kcm/libinput/touchpadconfiglibinput.cpp
https://invent.kde.org/plasma/plasma-desktop/-/commit/8671deb12554b659cae119d7d6f069682dcd6221
|