summaryrefslogtreecommitdiffstats
path: root/testing/libfprint/0002-uru4000-fix-cancelling-of-imaging-from-error-callbac.patch
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2012-12-05 08:17:29 +0200
committerTimo Teräs <timo.teras@iki.fi>2012-12-05 08:20:17 +0200
commitd67322bd53c811f4ce6b1ff2e1a188fb5f5bb927 (patch)
tree148a8085b9bbbfdaacf16204bcfd7b6116b81f37 /testing/libfprint/0002-uru4000-fix-cancelling-of-imaging-from-error-callbac.patch
parent397d3d0b488beadbe3a77423ca8b3ba1473cffd4 (diff)
downloadaports-d67322bd53c811f4ce6b1ff2e1a188fb5f5bb927.tar.bz2
aports-d67322bd53c811f4ce6b1ff2e1a188fb5f5bb927.tar.xz
testing/libfprint: upgrade to 0.5.0
remove upstreamed patch, add patches from upstream git and bugzilla
Diffstat (limited to 'testing/libfprint/0002-uru4000-fix-cancelling-of-imaging-from-error-callbac.patch')
-rw-r--r--testing/libfprint/0002-uru4000-fix-cancelling-of-imaging-from-error-callbac.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/testing/libfprint/0002-uru4000-fix-cancelling-of-imaging-from-error-callbac.patch b/testing/libfprint/0002-uru4000-fix-cancelling-of-imaging-from-error-callbac.patch
new file mode 100644
index 000000000..fc5d3f491
--- /dev/null
+++ b/testing/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
+