vfs301: Fix device pointer handling in callback
When porting the driver to the new libfprint 1.90.0 a mistake was made where the device was not passed through user_data anymore but it was still read from there. Stop using user_data in the callback to fix this. See: #320
This commit is contained in:
parent
a748f4d30f
commit
d3076039d0
1 changed files with 5 additions and 5 deletions
|
@ -509,30 +509,30 @@ vfs301_proto_process_event_cb (FpiUsbTransfer *transfer,
|
||||||
FpDevice *device,
|
FpDevice *device,
|
||||||
gpointer user_data, GError *error)
|
gpointer user_data, GError *error)
|
||||||
{
|
{
|
||||||
FpDeviceVfs301 *dev = user_data;
|
FpDeviceVfs301 *self = FPI_DEVICE_VFS301 (device);
|
||||||
|
|
||||||
if (error)
|
if (error)
|
||||||
{
|
{
|
||||||
g_warning ("Error receiving data: %s", error->message);
|
g_warning ("Error receiving data: %s", error->message);
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
dev->recv_progress = VFS301_FAILURE;
|
self->recv_progress = VFS301_FAILURE;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (transfer->actual_length < transfer->length)
|
else if (transfer->actual_length < transfer->length)
|
||||||
{
|
{
|
||||||
/* TODO: process the data anyway? */
|
/* TODO: process the data anyway? */
|
||||||
dev->recv_progress = VFS301_ENDED;
|
self->recv_progress = VFS301_ENDED;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FpiUsbTransfer *new;
|
FpiUsbTransfer *new;
|
||||||
if (!vfs301_proto_process_data (dev,
|
if (!vfs301_proto_process_data (self,
|
||||||
transfer->length == VFS301_FP_RECV_LEN_1,
|
transfer->length == VFS301_FP_RECV_LEN_1,
|
||||||
transfer->buffer,
|
transfer->buffer,
|
||||||
transfer->actual_length))
|
transfer->actual_length))
|
||||||
{
|
{
|
||||||
dev->recv_progress = VFS301_ENDED;
|
self->recv_progress = VFS301_ENDED;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue