kopia lustrzana https://gitlab.com/sane-project/website
237 wiersze
11 KiB
HTML
237 wiersze
11 KiB
HTML
<!-- received="Sun Nov 2 01:41:16 1997 PST" -->
|
|
<!-- sent="Sun, 2 Nov 1997 10:31:25 +0100 (MET)" -->
|
|
<!-- name="Oliver.Rauch@Wolfsburg.DE" -->
|
|
<!-- email="Oliver.Rauch@Wolfsburg.DE" -->
|
|
<!-- subject="Re: v0.67, finally!" -->
|
|
<!-- id="199711020931.KAA19521@Babylon5.wolfsburg.de" -->
|
|
<!-- inreplyto="199711020742.XAA14032@panda.mostang.com" -->
|
|
<title>sane-devel: Re: v0.67, finally!</title>
|
|
<h1>Re: v0.67, finally!</h1>
|
|
<a href="mailto:Oliver.Rauch@Wolfsburg.DE"><i>Oliver.Rauch@Wolfsburg.DE</i></a><br>
|
|
<i>Sun, 2 Nov 1997 10:31:25 +0100 (MET)</i>
|
|
<p>
|
|
<ul>
|
|
<li> <b>Messages sorted by:</b> <a href="date.html#10">[ date ]</a><a href="index.html#10">[ thread ]</a><a href="subject.html#10">[ subject ]</a><a href="author.html#10">[ author ]</a>
|
|
<!-- next="start" -->
|
|
<li> <b>Next message:</b> <a href="0011.html">Ignacio Garcia: "Re: v0.67, finally!"</a>
|
|
<li> <b>Previous message:</b> <a href="0009.html">Oliver.Rauch@Wolfsburg.DE: "Re: gtk-951025 patches"</a>
|
|
<li> <b>In reply to:</b> <a href="0008.html">David Mosberger-Tang: "v0.67, finally!"</a>
|
|
<!-- nextthread="start" -->
|
|
<li> <b>Next in thread:</b> <a href="0011.html">Ignacio Garcia: "Re: v0.67, finally!"</a>
|
|
<li> <b>Reply:</b> <a href="0011.html">Ignacio Garcia: "Re: v0.67, finally!"</a>
|
|
<li> <b>Reply:</b> <a href="0013.html">Pedro Guimaraes: "Re: v0.67, finally!"</a>
|
|
<li> <b>Reply:</b> <a href="0047.html">Tom Lee: "Tangential question about stuck SCSI scanner"</a>
|
|
<!-- reply="end" -->
|
|
</ul>
|
|
<!-- body="start" -->
|
|
Hello David, hello UMAX-owners,<br>
|
|
<p>
|
|
the umax-backend hangs in sane-0.67, but here is a patch<br>
|
|
that corrects it!<br>
|
|
<p>
|
|
There has changed something in the way the options between<br>
|
|
xscanimage (and may be scanimage too) and the umax-backend<br>
|
|
were handled and so we got into an endless loop.<br>
|
|
At the end of the mail there is a fix for it!<br>
|
|
<p>
|
|
just kill everything until ------------------, save the file<br>
|
|
as umax-patch, move it to sane-0.67/backend and then do<br>
|
|
cd sane-0.67/backend<br>
|
|
patch umax.c <umax-patch<br>
|
|
<p>
|
|
I also had problems to compile the umax-backend because<br>
|
|
usleep and strdup were not found any more.<br>
|
|
Simple trick at first: use old sane-0.66/backend/Makefile<br>
|
|
if you have it!<br>
|
|
<p>
|
|
Bye<br>
|
|
Oliver<br>
|
|
--------------------------<br>
|
|
<p>
|
|
--- umax.c Sat Oct 25 04:44:47 1997<br>
|
|
+++ /home/oli/scanner/sane-0.67/backend/umax.c Sun Nov 2 10:02:15 1997<br>
|
|
@@ -1357,88 +1357,100 @@<br>
|
|
scanner->val[option].w = *(SANE_Word *) val;<br>
|
|
if (info) { *info |= SANE_INFO_RELOAD_OPTIONS; }<br>
|
|
if (scanner->val[option].w == SANE_FALSE) /* 8 bit mode */<br>
|
|
- {<br>
|
|
+ {<br>
|
|
scanner->opt[OPT_GAMMA_VECTOR].constraint.range = &u8_range;<br>
|
|
scanner->output_bytes = 1; /* 8 bits output */<br>
|
|
- }<br>
|
|
+ }<br>
|
|
else /* 10 bit mode */<br>
|
|
- {<br>
|
|
+ {<br>
|
|
scanner->opt[OPT_GAMMA_VECTOR].constraint.range = &u10_range;<br>
|
|
scanner->output_bytes = 2; /* 10 bits output */<br>
|
|
- }<br>
|
|
+ }<br>
|
|
return SANE_STATUS_GOOD;<br>
|
|
<br>
|
|
case OPT_ANALOG_GAMMA_BIND:<br>
|
|
- scanner->val[option].w = *(SANE_Word *) val;<br>
|
|
- if (info) { *info |= SANE_INFO_RELOAD_OPTIONS; }<br>
|
|
- if (scanner->val[option].w == SANE_FALSE)<br>
|
|
- {<br>
|
|
- scanner->opt[OPT_ANALOG_GAMMA].cap |= SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_ANALOG_GAMMA_R].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_ANALOG_GAMMA_G].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_ANALOG_GAMMA_B].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
- }<br>
|
|
- else<br>
|
|
- {<br>
|
|
- scanner->opt[OPT_ANALOG_GAMMA].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_ANALOG_GAMMA_R].cap |= SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_ANALOG_GAMMA_G].cap |= SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_ANALOG_GAMMA_B].cap |= SANE_CAP_INACTIVE;<br>
|
|
- }<br>
|
|
+ if (scanner->val[option].w != *(SANE_Word *) val)<br>
|
|
+ {<br>
|
|
+ scanner->val[option].w = *(SANE_Word *) val;<br>
|
|
+ if (info) { *info |= SANE_INFO_RELOAD_OPTIONS; }<br>
|
|
+ if (scanner->val[option].w == SANE_FALSE)<br>
|
|
+ {<br>
|
|
+ scanner->opt[OPT_ANALOG_GAMMA].cap |= SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_ANALOG_GAMMA_R].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_ANALOG_GAMMA_G].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_ANALOG_GAMMA_B].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
+ }<br>
|
|
+ else<br>
|
|
+ {<br>
|
|
+ scanner->opt[OPT_ANALOG_GAMMA].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_ANALOG_GAMMA_R].cap |= SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_ANALOG_GAMMA_G].cap |= SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_ANALOG_GAMMA_B].cap |= SANE_CAP_INACTIVE;<br>
|
|
+ }<br>
|
|
+ }<br>
|
|
return SANE_STATUS_GOOD;<br>
|
|
<br>
|
|
case OPT_HIGHLIGHT_BIND:<br>
|
|
- scanner->val[option].w = *(SANE_Word *) val;<br>
|
|
- if (info) { *info |= SANE_INFO_RELOAD_OPTIONS; }<br>
|
|
- if (scanner->val[option].w == SANE_FALSE)<br>
|
|
- {<br>
|
|
- scanner->opt[OPT_HIGHLIGHT].cap |= SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_HIGHLIGHT_R].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_HIGHLIGHT_G].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_HIGHLIGHT_B].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
- }<br>
|
|
- else<br>
|
|
- {<br>
|
|
- scanner->opt[OPT_HIGHLIGHT].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_HIGHLIGHT_R].cap |= SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_HIGHLIGHT_G].cap |= SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_HIGHLIGHT_B].cap |= SANE_CAP_INACTIVE;<br>
|
|
- }<br>
|
|
+ if (scanner->val[option].w != *(SANE_Word *) val)<br>
|
|
+ {<br>
|
|
+ scanner->val[option].w = *(SANE_Word *) val;<br>
|
|
+ if (info) { *info |= SANE_INFO_RELOAD_OPTIONS; }<br>
|
|
+ if (scanner->val[option].w == SANE_FALSE)<br>
|
|
+ {<br>
|
|
+ scanner->opt[OPT_HIGHLIGHT].cap |= SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_HIGHLIGHT_R].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_HIGHLIGHT_G].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_HIGHLIGHT_B].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
+ }<br>
|
|
+ else<br>
|
|
+ {<br>
|
|
+ scanner->opt[OPT_HIGHLIGHT].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_HIGHLIGHT_R].cap |= SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_HIGHLIGHT_G].cap |= SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_HIGHLIGHT_B].cap |= SANE_CAP_INACTIVE;<br>
|
|
+ }<br>
|
|
+ }<br>
|
|
return SANE_STATUS_GOOD;<br>
|
|
<br>
|
|
case OPT_SHADOW_BIND:<br>
|
|
- scanner->val[option].w = *(SANE_Word *) val;<br>
|
|
- if (info) { *info |= SANE_INFO_RELOAD_OPTIONS; }<br>
|
|
- if (scanner->val[option].w == SANE_FALSE)<br>
|
|
- {<br>
|
|
- scanner->opt[OPT_SHADOW].cap |= SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_SHADOW_R].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_SHADOW_G].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_SHADOW_B].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
- }<br>
|
|
- else<br>
|
|
+ if (scanner->val[option].w != *(SANE_Word *) val)<br>
|
|
{<br>
|
|
- scanner->opt[OPT_SHADOW].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_SHADOW_R].cap |= SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_SHADOW_G].cap |= SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_SHADOW_B].cap |= SANE_CAP_INACTIVE;<br>
|
|
- }<br>
|
|
+ scanner->val[option].w = *(SANE_Word *) val;<br>
|
|
+ if (info) { *info |= SANE_INFO_RELOAD_OPTIONS; }<br>
|
|
+ if (scanner->val[option].w == SANE_FALSE)<br>
|
|
+ {<br>
|
|
+ scanner->opt[OPT_SHADOW].cap |= SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_SHADOW_R].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_SHADOW_G].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_SHADOW_B].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
+ }<br>
|
|
+ else<br>
|
|
+ {<br>
|
|
+ scanner->opt[OPT_SHADOW].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_SHADOW_R].cap |= SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_SHADOW_G].cap |= SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_SHADOW_B].cap |= SANE_CAP_INACTIVE;<br>
|
|
+ }<br>
|
|
+ }<br>
|
|
return SANE_STATUS_GOOD;<br>
|
|
<br>
|
|
case OPT_RESOLUTION_BIND:<br>
|
|
- scanner->val[option].w = *(SANE_Word *) val;<br>
|
|
+ if (scanner->val[option].w != *(SANE_Word *) val)<br>
|
|
+ {<br>
|
|
+ scanner->val[option].w = *(SANE_Word *) val;<br>
|
|
<br>
|
|
- if (info) { *info |= SANE_INFO_RELOAD_OPTIONS; }<br>
|
|
- if (scanner->val[option].w == SANE_FALSE)<br>
|
|
- { /* don't bind */<br>
|
|
- scanner->opt[OPT_Y_RESOLUTION].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_X_RESOLUTION].title = "X-Resolution";<br>
|
|
- }<br>
|
|
- else<br>
|
|
- { /* bind */<br>
|
|
- scanner->opt[OPT_Y_RESOLUTION].cap |= SANE_CAP_INACTIVE;<br>
|
|
- scanner->opt[OPT_X_RESOLUTION].title = SANE_TITLE_SCAN_RESOLUTION;<br>
|
|
- }<br>
|
|
+ if (info) { *info |= SANE_INFO_RELOAD_OPTIONS; }<br>
|
|
+ if (scanner->val[option].w == SANE_FALSE)<br>
|
|
+ { /* don't bind */<br>
|
|
+ scanner->opt[OPT_Y_RESOLUTION].cap &= ~SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_X_RESOLUTION].title = "X-Resolution";<br>
|
|
+ }<br>
|
|
+ else<br>
|
|
+ { /* bind */<br>
|
|
+ scanner->opt[OPT_Y_RESOLUTION].cap |= SANE_CAP_INACTIVE;<br>
|
|
+ scanner->opt[OPT_X_RESOLUTION].title = SANE_TITLE_SCAN_RESOLUTION;<br>
|
|
+ }<br>
|
|
+ }<br>
|
|
return SANE_STATUS_GOOD;<br>
|
|
<br>
|
|
/* side-effect-free word-array options: */<br>
|
|
<p>
|
|
<pre>
|
|
--
|
|
Source code, list archive, and docs: <a href="http://www.mostang.com/sane/">http://www.mostang.com/sane/</a>
|
|
To unsubscribe: echo unsubscribe sane-devel | mail <a href="mailto:majordomo@mostang.com">majordomo@mostang.com</a>
|
|
</pre>
|
|
<!-- body="end" -->
|
|
<p>
|
|
<ul>
|
|
<!-- next="start" -->
|
|
<li> <b>Next message:</b> <a href="0011.html">Ignacio Garcia: "Re: v0.67, finally!"</a>
|
|
<li> <b>Previous message:</b> <a href="0009.html">Oliver.Rauch@Wolfsburg.DE: "Re: gtk-951025 patches"</a>
|
|
<li> <b>In reply to:</b> <a href="0008.html">David Mosberger-Tang: "v0.67, finally!"</a>
|
|
<!-- nextthread="start" -->
|
|
<li> <b>Next in thread:</b> <a href="0011.html">Ignacio Garcia: "Re: v0.67, finally!"</a>
|
|
<li> <b>Reply:</b> <a href="0011.html">Ignacio Garcia: "Re: v0.67, finally!"</a>
|
|
<li> <b>Reply:</b> <a href="0013.html">Pedro Guimaraes: "Re: v0.67, finally!"</a>
|
|
<li> <b>Reply:</b> <a href="0047.html">Tom Lee: "Tangential question about stuck SCSI scanner"</a>
|
|
<!-- reply="end" -->
|
|
</ul>
|