kopia lustrzana https://gitlab.com/sane-project/backends
changelog entry for genesys build 83
rodzic
72b7da9600
commit
15403160f0
10
ChangeLog
10
ChangeLog
|
@ -1,17 +1,17 @@
|
||||||
|
2012-06-01 Stéphane Voltz <stef.dev@free.fr>
|
||||||
2012-05-31 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
|
* backend/genesys.c: fix get_device to handle scanner plugging and
|
||||||
doc/descriptions/unsupported.desc: updated Xerox onetouch 2400 status
|
unplugging
|
||||||
to supported
|
|
||||||
|
|
||||||
2012-05-29 Stéphane Voltz <stef.dev@free.fr>
|
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
|
backend/genesys_gl847.h doc/descriptions/genesys.desc: add 4800 dpi
|
||||||
for LiDE 700F
|
for LiDE 700F
|
||||||
- improve fedd/move to scan area for gl847 based scanners
|
- improve fedd/move to scan area for gl847 based scanners
|
||||||
- remove non working 400 dpi mode
|
- remove non working 400 dpi mode
|
||||||
|
|
||||||
2012-05-28 Stéphane Voltz <stef.dev@free.fr>
|
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
|
backend/genesys_gl847.c backend/genesys_gl847.h backend/genesys_low.h
|
||||||
doc/descriptions/genesys.desc doc/sane-genesys.man:
|
doc/descriptions/genesys.desc doc/sane-genesys.man:
|
||||||
add support for LiDE 700F up to 2400 dpi
|
add support for LiDE 700F up to 2400 dpi
|
||||||
|
|
|
@ -58,7 +58,7 @@
|
||||||
* SANE backend for Genesys Logic GL646/GL841/GL842/GL843/GL847/GL124 based scanners
|
* SANE backend for Genesys Logic GL646/GL841/GL842/GL843/GL847/GL124 based scanners
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define BUILD 82
|
#define BUILD 83
|
||||||
#define BACKEND_NAME genesys
|
#define BACKEND_NAME genesys
|
||||||
|
|
||||||
#include "genesys.h"
|
#include "genesys.h"
|
||||||
|
@ -6578,13 +6578,17 @@ sane_exit (void)
|
||||||
SANE_Status
|
SANE_Status
|
||||||
sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only)
|
sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only)
|
||||||
{
|
{
|
||||||
Genesys_Device *dev;
|
Genesys_Device *dev, *prev;
|
||||||
SANE_Int dev_num;
|
SANE_Status status;
|
||||||
|
SANE_Int index;
|
||||||
|
SANE_Int dn;
|
||||||
|
SANE_Device *sane_device;
|
||||||
|
|
||||||
DBG (DBG_proc, "sane_get_devices: start: local_only = %s\n",
|
DBG (DBG_proc, "sane_get_devices: start: local_only = %s\n",
|
||||||
local_only == SANE_TRUE ? "true" : "false");
|
local_only == SANE_TRUE ? "true" : "false");
|
||||||
|
|
||||||
/* hot-plug case :detection of newly connected scanners */
|
/* hot-plug case :detection of newly connected scanners */
|
||||||
|
sanei_usb_init();
|
||||||
probe_genesys_devices ();
|
probe_genesys_devices ();
|
||||||
|
|
||||||
if (devlist)
|
if (devlist)
|
||||||
|
@ -6594,21 +6598,66 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only)
|
||||||
if (!devlist)
|
if (!devlist)
|
||||||
return SANE_STATUS_NO_MEM;
|
return SANE_STATUS_NO_MEM;
|
||||||
|
|
||||||
dev_num = 0;
|
prev = NULL;
|
||||||
for (dev = first_dev; dev_num < num_devices; dev = dev->next)
|
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));
|
/* next loop */
|
||||||
if (!sane_device)
|
dev=prev->next;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
devlist[dev_num++] = 0;
|
devlist[index] = 0;
|
||||||
|
|
||||||
*device_list = devlist;
|
*device_list = devlist;
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue