Bug 518868 - "Touchscreen" category is always visible with "Highlight Changed Settings" and no touchscreen
Summary: "Touchscreen" category is always visible with "Highlight Changed Settings" an...
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_touchscreen (other bugs)
Version First Reported In: 6.6.4
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
: 515995 (view as bug list)
Depends on:
Blocks:
 
Reported: 2026-04-12 14:05 UTC by Jin Liu
Modified: 2026-04-22 13:25 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.6.5
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jin Liu 2026-04-12 14:05:31 UTC
STEPS TO REPRODUCE
1. Launch systemsettings in a machine with no touchscreen.
2. "Touchscreen" category is hidden as intended.
3. Enable "Highlight Changed Settings" in the hamburger.
4. An empty "Touchscreen" category appears.
5. Now that empty category stays even if I turn off "Highlight Changed Settings".
6. Deleting "~/.config/systemsettingsrc" fixes the problem for once.

NOTE
When I search for "touchscreen", its page appears with an empty list, but the "Defaults" button enabled. I suspect that might be connected with the issue.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.6.4
KDE Frameworks Version: 6.25.0
Qt Version: 6.11.0
Kernel Version: 6.19.11-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 5600H with Radeon Graphics
Memory: 16 GiB of RAM (15.0 GiB usable)
Graphics Processor: AMD Radeon Graphics
Comment 1 Akseli Lahtinen 2026-04-13 08:44:20 UTC
Can confirm the issue

Operating System: KDE Linux 2026-04-12
KDE Plasma Version: 6.6.80
KDE Frameworks Version: 6.26.0
Qt Version: 6.11.0
Kernel Version: 6.19.11-zen1-1-zen (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 3600 6-Core Processor
Memory: 16 GiB of RAM (15.5 GiB usable)
Graphics Processor: AMD Radeon RX 6600
Comment 2 Bug Janitor Service 2026-04-22 03:22:34 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/systemsettings/-/merge_requests/404
Comment 3 Nicolas Fella 2026-04-22 13:16:17 UTC
*** Bug 515995 has been marked as a duplicate of this bug. ***
Comment 4 Nicolas Fella 2026-04-22 13:20:22 UTC
Git commit 37e74f7ab7e01ca76df68e46a017c100c159afa2 by Nicolas Fella, on behalf of Jin Liu.
Committed on 22/04/2026 at 13:20.
Pushed by nicolasfella into branch 'master'.

Fix empty category in sidebar when "Highlight Changed Settings" is enabled

1. MenuProxyModel::filterHighlightsEntries is never used in the UI.
Probably legacy code.
2. And MenuProxyModel::setFilterHighlightsEntries doesn't call invalidateRowsFilter
like setShowIrrelevantModules does.
3. And it's default to true in ctor, while later changed to false in SidebarMode.cpp.
4. The end result is that the final branch in MenuProxyModel::filterAcceptsRow which
hides irrelevant categories only gets run once, at app startup. There after, it's always
the filterHighlightsEntries==false branch that is run, e.g., when the user toggles
"Highlight Changed Settings" in the sidebar, and the model is refreshed.

M  +11   -26   app/MenuProxyModel.cpp
M  +0    -11   app/MenuProxyModel.h
M  +0    -2    app/SidebarMode.cpp

https://invent.kde.org/plasma/systemsettings/-/commit/37e74f7ab7e01ca76df68e46a017c100c159afa2
Comment 5 Nicolas Fella 2026-04-22 13:25:02 UTC
Git commit c52478bd986ca3916be2b1be3cdb6feaddb15209 by Nicolas Fella, on behalf of Jin Liu.
Committed on 22/04/2026 at 13:24.
Pushed by nicolasfella into branch 'Plasma/6.6'.

Fix empty category in sidebar when "Highlight Changed Settings" is enabled

1. MenuProxyModel::filterHighlightsEntries is never used in the UI.
Probably legacy code.
2. And MenuProxyModel::setFilterHighlightsEntries doesn't call invalidateRowsFilter
like setShowIrrelevantModules does.
3. And it's default to true in ctor, while later changed to false in SidebarMode.cpp.
4. The end result is that the final branch in MenuProxyModel::filterAcceptsRow which
hides irrelevant categories only gets run once, at app startup. There after, it's always
the filterHighlightsEntries==false branch that is run, e.g., when the user toggles
"Highlight Changed Settings" in the sidebar, and the model is refreshed.
(cherry picked from commit 37e74f7ab7e01ca76df68e46a017c100c159afa2)

M  +11   -26   app/MenuProxyModel.cpp
M  +0    -11   app/MenuProxyModel.h
M  +0    -2    app/SidebarMode.cpp

https://invent.kde.org/plasma/systemsettings/-/commit/c52478bd986ca3916be2b1be3cdb6feaddb15209