more asynchronous parking issues fixed

merge-requests/1/head
Stphane Voltz 2011-02-01 06:38:11 +01:00
rodzic c0b26b4568
commit 99ede36f75
1 zmienionych plików z 4 dodań i 1 usunięć

Wyświetl plik

@ -4192,7 +4192,7 @@ genesys_start_scan (Genesys_Device * dev)
/* since not all scanners are set ot wait for head to park
* we check we are not still parking before starting a new scan */
if (dev->model->is_sheetfed == SANE_FALSE && !(dev->model->flags & GENESYS_FLAG_MUST_WAIT))
if (dev->parking == SANE_TRUE)
{
status = sanei_genesys_wait_for_home (dev);
if (status != SANE_STATUS_GOOD)
@ -4238,6 +4238,7 @@ genesys_start_scan (Genesys_Device * dev)
return status;
}
dev->parking = SANE_FALSE;
status = dev->model->cmd_set->slow_back_home (dev, SANE_TRUE);
if (status != SANE_STATUS_GOOD)
{
@ -4253,6 +4254,7 @@ genesys_start_scan (Genesys_Device * dev)
/* Go home */
/* TODO: check we can drop this since we cannot have the
scanner's head wandering here */
dev->parking = SANE_FALSE;
status = dev->model->cmd_set->slow_back_home (dev, SANE_TRUE);
if (status != SANE_STATUS_GOOD)
{
@ -7099,6 +7101,7 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle)
s->dev->lines_buffer.buffer = NULL;
s->dev->shrink_buffer.buffer = NULL;
s->dev->out_buffer.buffer = NULL;
s->dev->parking = SANE_FALSE;
s->dev->read_active = SANE_FALSE;
s->dev->white_average_data = NULL;
s->dev->dark_average_data = NULL;