mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2026-09-11 05:10:05 +00:00
mafpmoc: Handle cancellation without overriding the error
This commit is contained in:
@@ -757,16 +757,23 @@ fp_enroll_get_image_cb (FpiDeviceMafpmoc *self,
|
|||||||
GError *error)
|
GError *error)
|
||||||
{
|
{
|
||||||
FpDevice *dev = FP_DEVICE (self);
|
FpDevice *dev = FP_DEVICE (self);
|
||||||
|
FpEnrollState nextState = FP_ENROLL_VERIFY_GET_IMAGE;
|
||||||
|
|
||||||
if (fpi_device_action_is_cancelled (dev))
|
|
||||||
g_cancellable_set_error_if_cancelled (fpi_device_get_cancellable (dev), &error);
|
|
||||||
if (error)
|
if (error)
|
||||||
{
|
{
|
||||||
fpi_ssm_mark_failed (self->task_ssm, g_steal_pointer (&error));
|
fpi_ssm_mark_failed (self->task_ssm, g_steal_pointer (&error));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
FpEnrollState nextState = FP_ENROLL_VERIFY_GET_IMAGE;
|
if (fpi_device_action_is_cancelled (dev))
|
||||||
|
{
|
||||||
|
GError *local_error = NULL;
|
||||||
|
|
||||||
|
g_cancellable_set_error_if_cancelled (fpi_device_get_cancellable (dev),
|
||||||
|
&local_error);
|
||||||
|
fpi_ssm_mark_failed (self->task_ssm, g_steal_pointer (&local_error));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (self->press_state == MAFP_PRESS_WAIT_DOWN)
|
if (self->press_state == MAFP_PRESS_WAIT_DOWN)
|
||||||
{
|
{
|
||||||
@@ -1393,15 +1400,23 @@ fp_verify_get_image_cb (FpiDeviceMafpmoc *self,
|
|||||||
GError *error)
|
GError *error)
|
||||||
{
|
{
|
||||||
FpDevice *dev = FP_DEVICE (self);
|
FpDevice *dev = FP_DEVICE (self);
|
||||||
|
FpVerifyState nextState = FP_VERIFY_GET_IMAGE;
|
||||||
|
|
||||||
if (fpi_device_action_is_cancelled (dev))
|
|
||||||
g_cancellable_set_error_if_cancelled (fpi_device_get_cancellable (dev), &error);
|
|
||||||
if (error)
|
if (error)
|
||||||
{
|
{
|
||||||
fpi_ssm_mark_failed (self->task_ssm, g_steal_pointer (&error));
|
fpi_ssm_mark_failed (self->task_ssm, g_steal_pointer (&error));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
FpVerifyState nextState = FP_VERIFY_GET_IMAGE;
|
|
||||||
|
if (fpi_device_action_is_cancelled (dev))
|
||||||
|
{
|
||||||
|
GError *local_error = NULL;
|
||||||
|
|
||||||
|
g_cancellable_set_error_if_cancelled (fpi_device_get_cancellable (dev),
|
||||||
|
&local_error);
|
||||||
|
fpi_ssm_mark_failed (self->task_ssm, g_steal_pointer (&local_error));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (self->press_state == MAFP_PRESS_WAIT_DOWN)
|
if (self->press_state == MAFP_PRESS_WAIT_DOWN)
|
||||||
{
|
{
|
||||||
@@ -1485,13 +1500,22 @@ fp_verify_get_tpl_info_cb (FpiDeviceMafpmoc *self,
|
|||||||
FpPrint *matching = NULL;
|
FpPrint *matching = NULL;
|
||||||
mafp_template_t tpl;
|
mafp_template_t tpl;
|
||||||
|
|
||||||
if (fpi_device_action_is_cancelled (dev))
|
|
||||||
g_cancellable_set_error_if_cancelled (fpi_device_get_cancellable (dev), &error);
|
|
||||||
if (error)
|
if (error)
|
||||||
{
|
{
|
||||||
fpi_ssm_mark_failed (self->task_ssm, g_steal_pointer (&error));
|
fpi_ssm_mark_failed (self->task_ssm, g_steal_pointer (&error));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (fpi_device_action_is_cancelled (dev))
|
||||||
|
{
|
||||||
|
GError *local_error = NULL;
|
||||||
|
|
||||||
|
g_cancellable_set_error_if_cancelled (fpi_device_get_cancellable (dev),
|
||||||
|
&local_error);
|
||||||
|
fpi_ssm_mark_failed (self->task_ssm, g_steal_pointer (&local_error));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
fp_dbg ("result: %d", resp->result);
|
fp_dbg ("result: %d", resp->result);
|
||||||
|
|
||||||
if (resp->result == MAFP_SUCCESS)
|
if (resp->result == MAFP_SUCCESS)
|
||||||
|
|||||||
Reference in New Issue
Block a user