mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2025-12-20 07:00:05 +01:00
fpcmoc: Do not leak the interrupt cancellable
g_set_object adds a reference already so we need to cleanup the original reference first if we do not want to leak it
This commit is contained in:
parent
bd7c745b02
commit
b069c78348
1 changed files with 7 additions and 3 deletions
|
|
@ -354,15 +354,16 @@ fpc_sensor_cmd (FpiDeviceFpcMoc *self,
|
|||
|
||||
data = g_memdup2 (cmd_data, sizeof (CommandData));
|
||||
|
||||
g_clear_object (&self->interrupt_cancellable);
|
||||
|
||||
if (wait_data_delay)
|
||||
{
|
||||
self->cmd_data_timeout = 0;
|
||||
g_set_object (&self->interrupt_cancellable, g_cancellable_new ());
|
||||
self->interrupt_cancellable = g_cancellable_new ();
|
||||
}
|
||||
else
|
||||
{
|
||||
self->cmd_data_timeout = DATA_TIMEOUT;
|
||||
g_clear_object (&self->interrupt_cancellable);
|
||||
}
|
||||
|
||||
g_assert (self->cmd_ssm == NULL);
|
||||
|
|
@ -1694,6 +1695,7 @@ fpc_dev_close (FpDevice *device)
|
|||
|
||||
fp_dbg ("%s enter -->", G_STRFUNC);
|
||||
g_clear_pointer (&self->dbid, g_free);
|
||||
g_cancellable_cancel (self->interrupt_cancellable);
|
||||
g_clear_object (&self->interrupt_cancellable);
|
||||
fpc_dev_release_interface (self, NULL);
|
||||
}
|
||||
|
|
@ -1798,7 +1800,9 @@ fpc_dev_resume (FpDevice *device)
|
|||
g_assert (self->cmd_suspended);
|
||||
g_assert (fpi_ssm_get_cur_state (self->cmd_ssm) == FPC_CMD_SUSPENDED);
|
||||
self->cmd_suspended = FALSE;
|
||||
g_set_object (&self->interrupt_cancellable, g_cancellable_new ());
|
||||
|
||||
g_clear_object (&self->interrupt_cancellable);
|
||||
self->interrupt_cancellable = g_cancellable_new ();
|
||||
fpi_ssm_jump_to_state (self->cmd_ssm, FPC_CMD_RESUME);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue