aboutsummaryrefslogtreecommitdiffstats
path: root/main/libfprint/0002-uru4000-fix-cancelling-of-imaging-from-error-callbac.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2013-06-10 09:00:36 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2013-06-10 09:00:36 +0000
commit55f4034796572dd68aeff19321f45e38e47c6138 (patch)
tree0d2436b4da547a92571ca0c1ad050e590515396c /main/libfprint/0002-uru4000-fix-cancelling-of-imaging-from-error-callbac.patch
parent42e1e28e320493ac91aa09852a9898eec792831f (diff)
downloadaports-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.patch45
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
+