also use has_paper() for generation 2 scanners

merge-requests/1/head
Rolf Bensch 2014-11-18 09:03:13 +01:00
rodzic 681c8366b5
commit 1fa16a1aab
1 zmienionych plików z 9 dodań i 4 usunięć

Wyświetl plik

@ -704,10 +704,15 @@ iclass_finish_scan (pixma_t * s)
activate (s, 0);
query_status (s);
}
/* 0x38 = last block and ADF empty
* 0x28 = last block and Paper in ADF */
if (mf->last_block==0x38 /* ADF empty */
|| (mf->generation == 1 && mf->last_block == 0x28)) /* generation 1 scanner or Paper in ADF */
/* generation = 1:
* 0x28 = last block (no multi page scan)
* generation >= 2:
* 0x38 = last block and ADF empty (generation >= 2)
* 0x28 = last block and Paper in ADF (multi page scan)
* some generation 2 scanners don't use 0x38 for ADF empty => check status */
if (mf->last_block==0x38 /* generation 2 scanner ADF empty */
|| (mf->generation == 1 && mf->last_block == 0x28) /* generation 1 scanner last block */
|| (mf->generation >= 2 && !has_paper(s))) /* check status: no paper in ADF */
{
PDBG (pixma_dbg (3, "*iclass_finish_scan***** abort session *****\n"));
abort_session (s);