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
This commit is contained in:
parent
7e1646c382
commit
8a87ba448c
1 changed files with 6 additions and 3 deletions
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue