diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-06-10 09:00:36 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-06-10 09:00:36 +0000 |
commit | 55f4034796572dd68aeff19321f45e38e47c6138 (patch) | |
tree | 0d2436b4da547a92571ca0c1ad050e590515396c /main/libfprint/0002-uru4000-fix-cancelling-of-imaging-from-error-callbac.patch | |
parent | 42e1e28e320493ac91aa09852a9898eec792831f (diff) | |
download | aports-55f4034796572dd68aeff19321f45e38e47c6138.tar.bz2 aports-55f4034796572dd68aeff19321f45e38e47c6138.tar.xz |
main/libfprint: moved from testing
Diffstat (limited to 'main/libfprint/0002-uru4000-fix-cancelling-of-imaging-from-error-callbac.patch')
-rw-r--r-- | main/libfprint/0002-uru4000-fix-cancelling-of-imaging-from-error-callbac.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/main/libfprint/0002-uru4000-fix-cancelling-of-imaging-from-error-callbac.patch b/main/libfprint/0002-uru4000-fix-cancelling-of-imaging-from-error-callbac.patch new file mode 100644 index 0000000000..fc5d3f491d --- /dev/null +++ b/main/libfprint/0002-uru4000-fix-cancelling-of-imaging-from-error-callbac.patch @@ -0,0 +1,45 @@ +From 045d3c92c22cfc12acd3fe1b2d43bab819758c98 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> +Date: Mon, 3 Dec 2012 09:51:27 +0200 +Subject: [PATCH 2/3] uru4000: fix cancelling of imaging from error callback + +Call error callback before resetting img_transfer to NULL. This +variable is internally used to detect if we are still in imaging +loop and the call to execute_state_change() needs to be postponed. +Since this is the final thing imaging_complete() we can't reset +img_transfer until just before this call. + +https://bugs.freedesktop.org/show_bug.cgi?id=57829 +--- + libfprint/drivers/uru4000.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/libfprint/drivers/uru4000.c b/libfprint/drivers/uru4000.c +index 07e26a4..ccaa87f 100644 +--- a/libfprint/drivers/uru4000.c ++++ b/libfprint/drivers/uru4000.c +@@ -789,15 +789,18 @@ static void imaging_complete(struct fpi_ssm *ssm) + int r = ssm->error; + fpi_ssm_free(ssm); + ++ /* Report error before exiting imaging loop - the error handler ++ * can request state change, which needs to be postponed to end of ++ * this function. */ ++ if (r) ++ fpi_imgdev_session_error(dev, r); ++ + g_free(urudev->img_data); + urudev->img_data = NULL; + + libusb_free_transfer(urudev->img_transfer); + urudev->img_transfer = NULL; + +- if (r) +- fpi_imgdev_session_error(dev, r); +- + r = execute_state_change(dev); + if (r) + fpi_imgdev_session_error(dev, r); +-- +1.8.0.1 + |