diff options
author | mincrmatt12 <matthew@mm12.xyz> | 2021-12-22 20:35:30 -0500 |
---|---|---|
committer | Matthew Mirvish <matthew@mm12.xyz> | 2021-12-23 05:35:38 +0000 |
commit | 5beac0ded7992b107893a155f5b6b0362d7faf11 (patch) | |
tree | f4431982a839770a5f5fc0db71672ddfc1342e5a | |
parent | 7565562903544f22d4eb0688330a6efd43f04c05 (diff) |
elanspi: Try to avoid cancellation problemsmincrmatt12/elanspi-fix-cancel
-rw-r--r-- | libfprint/drivers/elanspi.c | 9 |
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; } |