Created attachment 188165 [details] Fingerprint enrollment dialogue without "Add" button SUMMARY When clicking "X" to back out of fingerprint enrollment on the finger selection screen (immediately after clicking "Add"), the next time one opens the dialog it does not have an "Add" button. It is then impossible to enroll a finger without fully closing+reopening the KCM. STEPS TO REPRODUCE 1. Open systemsettings kcm_users 2. On the user page, click "Configure fingerprint authentication" 3. Press "Add" 4. Do not select a finger, but press "X" to close 5. Click "Configure fingerprint authentication" again OBSERVED RESULT The "Add" button at the bottom of the dialogue is missing (see attachment). EXPECTED RESULT The "Add" button remains accessible. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.5.4 KDE Frameworks Version: 6.21.0 Qt Version: 6.10.1 Kernel Version: 6.18.2-arch2-1 (64-bit) Graphics Platform: Wayland Processors: 16 × AMD Ryzen AI 7 PRO 350 w/ Radeon 860M Memory: 32 GiB of RAM (30.5 GiB usable) Graphics Processor: AMD Radeon 860M Graphics ADDITIONAL INFORMATION -
I can reproduce this on Plasma built from git-master with the steps provided, on Solus
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/6148
Git commit c6fd8d8b91a2b98f7edede4827daa772e7831287 by Christoph Wolk. Committed on 12/01/2026 at 18:45. Pushed by davidedmundson into branch 'master'. kcms/users: reset dialog state on close button press kcm_users has some shared dialog state handling between the C++ backend and qml. Picking a finger is exclusively handled from the qml side, C++ does not interfere with this state (unless there is an error, in which case it will reset the state to list). The only way out of this state in qml is to actually pick a finger. The dialog (reasonably) has a close button, which calls reject() on the dialog (Kirigami default), but nothing actually binds to that so the dialog remains in the pick finger state at least as far as the button row is concerned, which means no Add button even though the displayed contents (handled independently) have returned to the default list state. There's some logic to reset the state, but only while enrolling - but we were still picking the finger, not enrolling yet. Instead, reset the state when reject is emitted. When calling stopEnrolling, the backend will always reset the dialog state, but do further actions only if actually enrolling (which we're not here). FIXED-IN: 6.5.5 M +1 -0 kcms/users/src/ui/FingerprintDialog.qml https://invent.kde.org/plasma/plasma-workspace/-/commit/c6fd8d8b91a2b98f7edede4827daa772e7831287
Git commit c06d7d595162a87d502706684956a93bd0414dff by Christoph Wolk. Committed on 12/01/2026 at 19:35. Pushed by cwo into branch 'Plasma/6.5'. kcms/users: reset dialog state on close button press kcm_users has some shared dialog state handling between the C++ backend and qml. Picking a finger is exclusively handled from the qml side, C++ does not interfere with this state (unless there is an error, in which case it will reset the state to list). The only way out of this state in qml is to actually pick a finger. The dialog (reasonably) has a close button, which calls reject() on the dialog (Kirigami default), but nothing actually binds to that so the dialog remains in the pick finger state at least as far as the button row is concerned, which means no Add button even though the displayed contents (handled independently) have returned to the default list state. There's some logic to reset the state, but only while enrolling - but we were still picking the finger, not enrolling yet. Instead, reset the state when reject is emitted. When calling stopEnrolling, the backend will always reset the dialog state, but do further actions only if actually enrolling (which we're not here). FIXED-IN: 6.5.5 (cherry picked from commit c6fd8d8b91a2b98f7edede4827daa772e7831287) Co-authored-by: Christoph Wolk <cwo.kde@posteo.net> M +1 -0 kcms/users/src/ui/FingerprintDialog.qml https://invent.kde.org/plasma/plasma-workspace/-/commit/c06d7d595162a87d502706684956a93bd0414dff