summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormincrmatt12 <matthew@mm12.xyz>2021-12-22 20:35:30 -0500
committerMatthew Mirvish <matthew@mm12.xyz>2021-12-23 05:35:38 +0000
commit5beac0ded7992b107893a155f5b6b0362d7faf11 (patch)
treef4431982a839770a5f5fc0db71672ddfc1342e5a
parent7565562903544f22d4eb0688330a6efd43f04c05 (diff)
elanspi: Try to avoid cancellation problemsmincrmatt12/elanspi-fix-cancel
-rw-r--r--libfprint/drivers/elanspi.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libfprint/drivers/elanspi.c b/libfprint/drivers/elanspi.c
index c3ddea9..9338013 100644
--- a/libfprint/drivers/elanspi.c
+++ b/libfprint/drivers/elanspi.c
@@ -439,6 +439,12 @@ elanspi_capture_old_line_handler (FpiSpiTransfer *transfer, FpDevice *dev, gpoin
}
else
{
+ /* check for termination */
+ if (fpi_device_get_current_action (dev) == FPI_DEVICE_ACTION_NONE)
+ {
+ fpi_ssm_mark_completed (transfer->ssm);
+ return;
+ }
/* check for cancellation */
if (fpi_device_action_is_cancelled (dev))
{
@@ -1486,11 +1492,12 @@ elanspi_fp_capture_ssm_handler (FpiSsm *ssm, FpDevice *dev)
if (self->deactivating)
{
fp_dbg ("<capture> got deactivate; exiting");
+
+ self->deactivating = FALSE;
fpi_ssm_mark_completed (ssm);
/* mark deactivate done */
fpi_image_device_deactivate_complete (FP_IMAGE_DEVICE (dev), NULL);
- self->deactivating = FALSE;
return;
}