device: Emit VerifyFingerSelected after the method returned

In order to be race free, clients need to ignore all signals until after
the DBus method to start verification has returned. So the signal must
be emitted later than it currently is.
This commit is contained in:
Benjamin Berg
2020-12-07 15:24:52 +01:00
parent 5ccaa094a0
commit a4b06c2219

View File

@ -1214,13 +1214,13 @@ static gboolean fprint_device_verify_start (FprintDBusDevice *dbus_dev,
(GAsyncReadyCallback) verify_cb, rdev);
}
fprint_dbus_device_complete_verify_start (dbus_dev, invocation);
/* Emit VerifyFingerSelected telling the front-end which finger
* we selected for auth */
g_signal_emit(rdev, signals[SIGNAL_VERIFY_FINGER_SELECTED],
0, finger_num_to_name (finger_num));
fprint_dbus_device_complete_verify_start (dbus_dev, invocation);
return TRUE;
}