diff --git a/backend/genesys_gl124.cc b/backend/genesys_gl124.cc index 283315032..b3177701d 100644 --- a/backend/genesys_gl124.cc +++ b/backend/genesys_gl124.cc @@ -1462,6 +1462,7 @@ gl124_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys dev->read_active = SANE_TRUE; + dev->current_setup.params = params; dev->current_setup.pixels = (used_pixels * used_res) / optical_res; DBG(DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); dev->current_setup.lines = lincnt; @@ -1584,6 +1585,7 @@ gl124_calculate_current_setup (Genesys_Device * dev, const Genesys_Sensor& senso /* lincnt */ lincnt = params.lines + max_shift + stagger; + dev->current_setup.params = params; dev->current_setup.pixels = (used_pixels * used_res) / optical_res; DBG (DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); dev->current_setup.lines = lincnt; diff --git a/backend/genesys_gl646.cc b/backend/genesys_gl646.cc index 8b2636419..adcf18f1c 100644 --- a/backend/genesys_gl646.cc +++ b/backend/genesys_gl646.cc @@ -967,6 +967,7 @@ gl646_setup_registers (Genesys_Device * dev, DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); dev->read_active = SANE_TRUE; + dev->current_setup.params = params; dev->current_setup.pixels = ((endx - startx) * sensor_mst->xdpi) / sensor.optical_res; dev->current_setup.lines = linecnt; diff --git a/backend/genesys_gl841.cc b/backend/genesys_gl841.cc index d7bdc5a28..2855e1b64 100644 --- a/backend/genesys_gl841.cc +++ b/backend/genesys_gl841.cc @@ -2461,7 +2461,7 @@ dummy \ scanned lines DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); dev->read_active = SANE_TRUE; - + dev->current_setup.params = params; dev->current_setup.pixels = (used_pixels * used_res)/optical_res; dev->current_setup.lines = lincnt; dev->current_setup.depth = params.depth; @@ -2683,6 +2683,7 @@ dummy \ scanned lines lincnt = params.lines + max_shift + stagger; + dev->current_setup.params = params; dev->current_setup.pixels = (used_pixels * used_res)/optical_res; dev->current_setup.lines = lincnt; dev->current_setup.depth = params.depth; diff --git a/backend/genesys_gl843.cc b/backend/genesys_gl843.cc index f82d78316..ffdcba329 100644 --- a/backend/genesys_gl843.cc +++ b/backend/genesys_gl843.cc @@ -1586,6 +1586,7 @@ static SANE_Status gl843_init_scan_regs(Genesys_Device* dev, const Genesys_Senso DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); dev->read_active = SANE_TRUE; + dev->current_setup.params = session.params; dev->current_setup.pixels = session.output_pixels; DBG(DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); dev->current_setup.lines = session.output_line_count; @@ -1726,6 +1727,7 @@ gl843_calculate_current_setup(Genesys_Device * dev, const Genesys_Sensor& sensor /* lincnt */ lincnt = params.lines + max_shift + stagger; + dev->current_setup.params = params; dev->current_setup.pixels = (used_pixels * used_res) / optical_res; DBG(DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels); dev->current_setup.lines = lincnt; diff --git a/backend/genesys_gl846.cc b/backend/genesys_gl846.cc index bdaa4a0e3..3be443000 100644 --- a/backend/genesys_gl846.cc +++ b/backend/genesys_gl846.cc @@ -1296,7 +1296,7 @@ gl846_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); dev->read_active = SANE_TRUE; - + dev->current_setup.params = params; dev->current_setup.pixels = (used_pixels * used_res) / optical_res; dev->current_setup.lines = lincnt; dev->current_setup.depth = params.depth; @@ -1443,6 +1443,7 @@ gl846_calculate_current_setup(Genesys_Device * dev, const Genesys_Sensor& sensor /* lincnt */ lincnt = params.lines + max_shift + stagger; + dev->current_setup.params = params; dev->current_setup.pixels = (used_pixels * used_res) / optical_res; dev->current_setup.lines = lincnt; dev->current_setup.depth = params.depth; diff --git a/backend/genesys_gl847.cc b/backend/genesys_gl847.cc index cd78d1d47..0a21f1bf4 100644 --- a/backend/genesys_gl847.cc +++ b/backend/genesys_gl847.cc @@ -1313,7 +1313,7 @@ gl847_init_scan_regs(Genesys_Device * dev, const Genesys_Sensor& sensor, Genesys DBG(DBG_info, "%s: physical bytes to read = %lu\n", __func__, (u_long) dev->read_bytes_left); dev->read_active = SANE_TRUE; - + dev->current_setup.params = params; dev->current_setup.pixels = (used_pixels * used_res) / optical_res; dev->current_setup.lines = lincnt; dev->current_setup.depth = params.depth; @@ -1461,6 +1461,7 @@ gl847_calculate_current_setup(Genesys_Device * dev, const Genesys_Sensor& sensor /* lincnt */ lincnt = params.lines + max_shift + stagger; + dev->current_setup.params = params; dev->current_setup.pixels = (used_pixels * used_res) / optical_res; dev->current_setup.lines = lincnt; dev->current_setup.depth = params.depth; diff --git a/backend/genesys_low.h b/backend/genesys_low.h index 3496bbdbf..58dd753f5 100644 --- a/backend/genesys_low.h +++ b/backend/genesys_low.h @@ -1222,6 +1222,9 @@ struct SetupParams { struct Genesys_Current_Setup { + // params used for this setup + SetupParams params; + // pixel count expected from scanner int pixels = 0; // line count expected from scanner