[gnome-shell/gnome-3-36] gdm: Cancel user verification on UserVerifier destruction



commit f4112eb871502e24f58e81a663178da4f1bc63c0
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date:   Sat Jan 30 01:53:59 2021 +0100

    gdm: Cancel user verification on UserVerifier destruction
    
    When we cancel an user authentication via Escape key or cancel button on
    AuthPrompt we reset the view and we emit a 'cancelled' signal that leads
    to destroying the auth prompt and the user verifier.
    
    However, the verifier may still have an operation in progress and its
    completion may take some time (as in the case of gdm-fingerprint), but
    we just leave the gdm worker running until its pam module completes
    (potentially never) clearing and disposing its handle.
    
    So, instead of just clearing the verify, actually cancel and clear it.
    In case the user verifier is set, clearing the relevant data will happen
    anyway as part of the cancel() call.
    
    Ideally this would have been handled by gdm itself, but unfortunately we
    can't fix it there because the verifier itself is a class generated by
    gdbus-codegen, so we can't handle this automatically on disposal nor we
    can automatically monitor when the caller proxy is stopped on our side.
    
    Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3654
    Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1784>

 js/gdm/util.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/js/gdm/util.js b/js/gdm/util.js
index 53b0079f68..3de5d2a611 100644
--- a/js/gdm/util.js
+++ b/js/gdm/util.js
@@ -206,7 +206,7 @@ var ShellUserVerifier = class {
     }
 
     destroy() {
-        this.clear();
+        this.cancel();
 
         this._settings.run_dispose();
         this._settings = null;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]