From 351b7328520c16730ceb46e5acae16038c42185e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Tue, 16 Feb 2021 18:24:19 +0100 Subject: New upstream version 1.0.32 --- backend/gt68xx_low.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'backend/gt68xx_low.c') diff --git a/backend/gt68xx_low.c b/backend/gt68xx_low.c index 3ea4590..5aa84ac 100644 --- a/backend/gt68xx_low.c +++ b/backend/gt68xx_low.c @@ -16,9 +16,7 @@ General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA. + along with this program. If not, see . As a special exception, the authors of SANE give permission for additional uses of the libraries contained in this release of SANE. @@ -176,6 +174,8 @@ gt68xx_device_new (GT68xx_Device ** dev_return) dev->manual_selection = SANE_FALSE; + dev->scan_started = SANE_FALSE; + #ifdef USE_FORK dev->shm_channel = NULL; #endif /* USE_FORK */ @@ -626,7 +626,14 @@ gt68xx_device_start_scan (GT68xx_Device * dev) { CHECK_DEV_ACTIVE (dev, "gt68xx_device_start_scan"); if (dev->model->command_set->start_scan) - return (*dev->model->command_set->start_scan) (dev); + { + if (!dev->scan_started) + { + dev->scan_started = SANE_TRUE; + return (*dev->model->command_set->start_scan) (dev); + } + return SANE_STATUS_DEVICE_BUSY; + } else return SANE_STATUS_UNSUPPORTED; } @@ -681,7 +688,14 @@ gt68xx_device_stop_scan (GT68xx_Device * dev) { CHECK_DEV_ACTIVE (dev, "gt68xx_device_stop_scan"); if (dev->model->command_set->stop_scan) - return (*dev->model->command_set->stop_scan) (dev); + { + if (dev->scan_started) + { + dev->scan_started = SANE_FALSE; + return (*dev->model->command_set->stop_scan) (dev); + } + return SANE_STATUS_GOOD; // Essentially a NOP. + } else return SANE_STATUS_UNSUPPORTED; } -- cgit v1.2.3