changelog entry for genesys build 83

merge-requests/1/head
Stphane Voltz 2012-06-01 06:21:14 +02:00
rodzic 72b7da9600
commit 15403160f0
2 zmienionych plików z 69 dodań i 20 usunięć

Wyświetl plik

@ -1,17 +1,17 @@
2012-06-01 Stéphane Voltz <stef.dev@free.fr>
2012-05-31 Stéphane Voltz <stef.dev@free.fr>
* doc/descriptions/genesys.desc doc/sane-genesys.man
doc/descriptions/unsupported.desc: updated Xerox onetouch 2400 status
to supported
* backend/genesys.c: fix get_device to handle scanner plugging and
unplugging
2012-05-29 Stéphane Voltz <stef.dev@free.fr>
* backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c
* backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c
backend/genesys_gl847.h doc/descriptions/genesys.desc: add 4800 dpi
for LiDE 700F
- improve fedd/move to scan area for gl847 based scanners
- remove non working 400 dpi mode
2012-05-28 Stéphane Voltz <stef.dev@free.fr>
* backend/genesys.c backend/genesys_devices.c backend/genesys_gl124.c
* backend/genesys.c backend/genesys_devices.c backend/genesys_gl124.c
backend/genesys_gl847.c backend/genesys_gl847.h backend/genesys_low.h
doc/descriptions/genesys.desc doc/sane-genesys.man:
add support for LiDE 700F up to 2400 dpi

Wyświetl plik

@ -58,7 +58,7 @@
* SANE backend for Genesys Logic GL646/GL841/GL842/GL843/GL847/GL124 based scanners
*/
#define BUILD 82
#define BUILD 83
#define BACKEND_NAME genesys
#include "genesys.h"
@ -6578,13 +6578,17 @@ sane_exit (void)
SANE_Status
sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only)
{
Genesys_Device *dev;
SANE_Int dev_num;
Genesys_Device *dev, *prev;
SANE_Status status;
SANE_Int index;
SANE_Int dn;
SANE_Device *sane_device;
DBG (DBG_proc, "sane_get_devices: start: local_only = %s\n",
local_only == SANE_TRUE ? "true" : "false");
/* hot-plug case :detection of newly connected scanners */
sanei_usb_init();
probe_genesys_devices ();
if (devlist)
@ -6594,21 +6598,66 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only)
if (!devlist)
return SANE_STATUS_NO_MEM;
dev_num = 0;
for (dev = first_dev; dev_num < num_devices; dev = dev->next)
prev = NULL;
index = 0;
dev = first_dev;
while(dev!=NULL)
{
SANE_Device *sane_device;
/* check if device removed */
status = sanei_usb_open (dev->file_name, &dn);
if(status==SANE_STATUS_GOOD)
{
sanei_usb_close(dn);
sane_device = malloc (sizeof (*sane_device));
if (!sane_device)
return SANE_STATUS_NO_MEM;
sane_device->name = dev->file_name;
sane_device->vendor = dev->model->vendor;
sane_device->model = dev->model->model;
sane_device->type = strdup ("flatbed scanner");
devlist[index] = sane_device;
index++;
prev=dev;
dev=dev->next;
}
else
{
/* remove device from internal list */
/* case 1 : removed device is first_dev */
if(prev==NULL)
{
/* test for another dev */
if(dev->next==NULL)
{
/* empty the whole list */
free(dev);
first_dev=NULL;
num_devices=0;
dev=NULL;
}
else
{
/* assign new start */
first_dev=dev->next;
num_devices--;
free(dev);
dev=dev->next;
}
}
/* case 2 : removed device is not first_dev */
else
{
/* link previous dev to next dev */
prev->next=dev->next;
free(dev);
num_devices--;
sane_device = malloc (sizeof (*sane_device));
if (!sane_device)
return SANE_STATUS_NO_MEM;
sane_device->name = dev->file_name;
sane_device->vendor = dev->model->vendor;
sane_device->model = dev->model->model;
sane_device->type = strdup ("flatbed scanner");
devlist[dev_num++] = sane_device;
/* next loop */
dev=prev->next;
}
}
}
devlist[dev_num++] = 0;
devlist[index] = 0;
*device_list = devlist;