Bug 449389

Summary: Adding the left click action doesn't work anymore after deleting it
Product: [Plasma] plasmashell Reporter: Nico <nico>
Component: ContainmentAssignee: Marco Martin <notmart>
Status: RESOLVED FIXED    
Severity: minor CC: nate, plasma-bugs-null
Priority: NOR    
Version First Reported In: 5.23.90   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 6.6.0
Sentry Crash Report:
Attachments: Screen recording showing the bug

Description Nico 2022-01-30 21:32:09 UTC
Created attachment 146085 [details]
Screen recording showing the bug

SUMMARY
Adding mouse actions doesn't work anymore after deleting one


STEPS TO REPRODUCE
1. Configure Desktop and Wallpaper
2. Mouse Actions
3. Add Action
4. Left click
5. Remove Left-Button
6. Add Action
7. Left click

OBSERVED RESULT
It doesn't get added again

EXPECTED RESULT
It should add the Left-Button action again

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 
KDE Plasma Version: 5.23.90
KDE Frameworks Version: 5.90.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
Comment 1 Nate Graham 2022-02-01 22:43:19 UTC
Can confirm with left click.
Comment 2 Bug Janitor Service 2026-01-19 21:40:17 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/3466
Comment 3 cwo 2026-01-25 13:25:11 UTC
Git commit 03e8e795242549ab872bf406ce72013068f643a0 by Christoph Wolk.
Committed on 25/01/2026 at 12:40.
Pushed by cwo into branch 'master'.

desktoppackage/configuration: allow re-adding action button

ConfigurationContainmentActions allows creating custom button bindings.
It uses MouseEventInputButton, and listens to its eventString property
changing. But this doesn't work if the user adds a particular binding,
deletes it, then tries to add the same binding again: re-doing the same
input does not change the input as stored in eventString, so the Changed
signal is never emitted. (If the user adds a different binding in
between, everything works again, as now the property contains that
binding, and can be overwritten by adding the same binding again).

Instead, we send the Changed() signal explicitly when an input was made
but the current one is unchanged from the previously set one. There's a
separate check to make sure that the same binding is not added twice.
FIXED-IN: 6.6.0

M  +8    -4    desktoppackage/contents/configuration/MouseEventInputButton.qml

https://invent.kde.org/plasma/plasma-desktop/-/commit/03e8e795242549ab872bf406ce72013068f643a0