Hi Karl
spent some time debugging today. The problem seems to be that
when deciding whether to do color shuffle, you check the value
of "optical_res". This is not initialised for any other scanner
than a D1, as the identity2 routine isn't called.
I added a "memset()" call in attach() to initialise everything
to zero and it now works. I suppose it is a bit "sledgehammer"
though!
I also fixed the "sane_close()" bug reported by Jochen/Henning,
and changed "close(scanner(s))"(??) to "close_scanner(s)" in
"sane_close()".
Dave
-- Dave Hill, Kempston, Bedford UK dave@minnie.demon.co.uk davehill at users.sourceforge.net Sicth munce ago, I cutn't evun spel enjuneer, and now I are one!
--- sane-1.0.2_20000605/backend/epson.c.orig Mon Jun 5 21:11:09 2000 +++ sane-1.0.2_20000605/backend/epson.c Tue Jun 13 16:22:12 2000 @@ -1477,6 +1477,7 @@ * set dummy values. */ + memset(dev, 0, sizeof(*dev)); s->hw = dev; s->hw->sane.name = NULL; s->hw->sane.type = "flatbed scanner"; @@ -2697,10 +2698,10 @@ if (prev) prev->next = s->next; else - first_handle = s; + first_handle = s->next; if (s->fd != -1) - close(scanner(s)); + close_scanner(s); free(s); }
-- Source code, list archive, and docs: http://www.mostang.com/sane/ To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com
This archive was generated by hypermail 2b29 : Tue Jun 13 2000 - 10:20:55 PDT