diff --git a/src/device.c b/src/device.c index 85d9353..df26f3a 100644 --- a/src/device.c +++ b/src/device.c @@ -556,9 +556,11 @@ _fprint_device_client_vanished (GDBusConnection *connection, done = FALSE; /* Close the claimed device as well */ - fp_async_dev_close (priv->dev, action_stop_cb, &done); - while (done == FALSE) - g_main_context_iteration (NULL, TRUE); + if (priv->dev) { + fp_async_dev_close (priv->dev, action_stop_cb, &done); + while (done == FALSE) + g_main_context_iteration (NULL, TRUE); + } g_free (priv->sender); priv->sender = NULL; @@ -728,7 +730,8 @@ static void fprint_device_release(FprintDevice *rdev, } session->context_release_device = context; - fp_async_dev_close(priv->dev, dev_close_cb, rdev); + if (priv->dev) + fp_async_dev_close(priv->dev, dev_close_cb, rdev); } static void verify_cb(struct fp_dev *dev, int r, struct fp_img *img,