mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2026-09-10 13:00:08 +00:00
mafpmoc: Fix error handling
This commit is contained in:
@@ -1094,7 +1094,7 @@ mafp_pwr_btn_shield_on_cb (FpiUsbTransfer *transfer,
|
|||||||
static void
|
static void
|
||||||
mafp_pwr_btn_shield_on (FpiDeviceMafpmoc *self, int on)
|
mafp_pwr_btn_shield_on (FpiDeviceMafpmoc *self, int on)
|
||||||
{
|
{
|
||||||
g_autoptr(GError) pre_error = fpi_ssm_get_error (self->task_ssm);
|
GError *pre_error = fpi_ssm_get_error (self->task_ssm);
|
||||||
|
|
||||||
if (g_error_matches (pre_error, G_USB_DEVICE_ERROR, G_USB_DEVICE_ERROR_FAILED))
|
if (g_error_matches (pre_error, G_USB_DEVICE_ERROR, G_USB_DEVICE_ERROR_FAILED))
|
||||||
{
|
{
|
||||||
@@ -2442,31 +2442,29 @@ mafp_cancel (FpDevice *device)
|
|||||||
fp_dbg ("mafp_cancel");
|
fp_dbg ("mafp_cancel");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static gboolean
|
||||||
mafp_release_interface (FpiDeviceMafpmoc *self,
|
mafp_release_interface (FpiDeviceMafpmoc *self,
|
||||||
GError *error)
|
GError **error)
|
||||||
{
|
{
|
||||||
g_autoptr(GError) release_error = NULL;
|
|
||||||
g_free (self->serial_number);
|
|
||||||
g_free (self->enroll_user_id);
|
|
||||||
|
|
||||||
/* Release usb interface */
|
/* Release usb interface */
|
||||||
g_usb_device_release_interface (fpi_device_get_usb_device (FP_DEVICE (self)),
|
return g_usb_device_release_interface (fpi_device_get_usb_device (FP_DEVICE (self)),
|
||||||
0, 0, &release_error);
|
0, 0, error);
|
||||||
/* Retain passed error if set, otherwise propagate error from release. */
|
|
||||||
if (error == NULL)
|
|
||||||
error = g_steal_pointer (&release_error);
|
|
||||||
/* Notify close complete */
|
|
||||||
fpi_device_close_complete (FP_DEVICE (self), error);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
mafp_exit (FpDevice *device)
|
mafp_exit (FpDevice *device)
|
||||||
{
|
{
|
||||||
|
g_autoptr(GError) error = NULL;
|
||||||
|
|
||||||
fp_dbg ("mafp_exit");
|
fp_dbg ("mafp_exit");
|
||||||
FpiDeviceMafpmoc *self = FPI_DEVICE_MAFPMOC (device);
|
FpiDeviceMafpmoc *self = FPI_DEVICE_MAFPMOC (device);
|
||||||
|
|
||||||
mafp_release_interface (self, NULL);
|
mafp_release_interface (self, &error);
|
||||||
|
fpi_device_close_complete (FP_DEVICE (self), error);
|
||||||
|
|
||||||
|
g_clear_pointer (&self->serial_number, g_free);
|
||||||
|
g_clear_pointer (&self->enroll_user_id, g_free);
|
||||||
|
g_clear_pointer (&self->templates, g_free);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
Reference in New Issue
Block a user