[gnome-control-center/gnome-3-36] fingerprint-dialog: Disconnect signals and reset stages on enroll-restart



commit f6f975a80b837e107d53e637a7b564d8b18722a0
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date:   Wed Apr 15 01:40:36 2020 +0200

    fingerprint-dialog: Disconnect signals and reset stages on enroll-restart
    
    This happens if going to the previous page when enrolling a finger

 panels/user-accounts/um-fingerprint-dialog.c | 2 ++
 1 file changed, 2 insertions(+)
---
diff --git a/panels/user-accounts/um-fingerprint-dialog.c b/panels/user-accounts/um-fingerprint-dialog.c
index 95b46a3b3..bc90c8310 100644
--- a/panels/user-accounts/um-fingerprint-dialog.c
+++ b/panels/user-accounts/um-fingerprint-dialog.c
@@ -664,6 +664,7 @@ assistant_prepare (GtkAssistant *ass, GtkWidget *page, EnrollData *data)
                 }
                 g_free (path);
 
+                g_signal_handlers_disconnect_by_func (data->device, device_signal_cb, data);
                 g_signal_connect (data->device, "g-signal", G_CALLBACK (device_signal_cb), data);
 
                 if (!enroll_start (data, &error)) {
@@ -684,6 +685,7 @@ assistant_prepare (GtkAssistant *ass, GtkWidget *page, EnrollData *data)
 
                         return;
                 }
+                data->num_stages_done = 0;
                 data->state = STATE_ENROLLING;;
         } else {
                 if (data->state == STATE_ENROLLING) {


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