<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi,<div><br></div><div>after all it was probably not the best idea to dedicate all my open source time to my</div><div>T2 Linux distribution (<a href="http://t2-project.org">http://t2-project.org</a>) and letting others commit to the</div><div>SANE/Avision backend.</div><div><br></div><div>Because, frankly, most scanners did not work anymore due of really stupid regressions:</div><div><br></div><div><div><blockquote type="cite">- if (s->val[OPT_PAPERLEN].w)<br>+ if (s->val[OPT_PAPERLEN].w != SANE_FALSE) {<br> set_double (cmd.window.descriptor.paper_length, (int)((double)30.0*1200));<br>+ }<br></blockquote><div><br></div><div>The set_double macro does not include an own block scope, and to this always sets</div><div>half of the paper_length WORD, seriously???</div><div><br></div><div>Beside I do not agree with this new option at all. It should definitely not be a bool,</div><div>and instead specify the actual expected paper length, … (I leave that for another day)</div><div><br></div><blockquote type="cite"> /* Init the SANE option from the scanner inquiry data */<br><br>- dev->x_range.max = SANE_FIX ( (int)dev->inquiry_x_ranges[s->source_mode_dim]);<br>- dev->x_range.quant = 0;<br>- dev->y_range.max = SANE_FIX ( (int)dev->inquiry_y_ranges[s->source_mode_dim]);<br>- dev->y_range.quant = 0;<br>- <br> switch (dev->inquiry_asic_type) {<br> case AV_ASIC_C2:<br> dev->dpi_range.min = 100;<br>@@ -6331,6 +6328,11 @@ init_options (Avision_Scanner* s)<br> s->source_mode = match_source_mode (dev, s->val[OPT_SOURCE].s);<br> s->source_mode_dim = match_source_mode_dim (s->source_mode);<br><br>+ dev->x_range.max = SANE_FIX ( (int)dev->inquiry_x_ranges[s->source_mode_dim]);<br>+ dev->x_range.quant = 0;<br>+ dev->y_range.max = SANE_FIX ( (int)dev->inquiry_y_ranges[s->source_mode_dim]);<br>+ dev->y_range.quant = 0;<br>+<br> /* resolution */<br> s->opt[OPT_RESOLUTION].name = SANE_NAME_SCAN_RESOLUTION;<br> s->opt[OPT_RESOLUTION].title = SANE_TITLE_SCAN_RESOLUTION;<br></blockquote><br></div><div>Yeah, well, what should I say. At the point the range initializer source_mode_dim was</div><div>not initialized. So for all ADF scanners (like nearly all Avision scanners form the last decade)</div><div>this would result in random ranges (303 mm instead of 297 on the next best Avision scanner</div><div>I had around).</div><div><br></div><div>At least now the scanner on my desk would scan again, and not randomly error out early,</div><div>or deliver random pixel junk due out of bounds ranges, …</div><div><br></div><div>Please directly future patches to me, I will review them as I did between 1998 and 2008, …</div><div>I can not see my art being damaged like that.</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre"> </span>René</div><br><div apple-content-edited="true">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;">-- <br> ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin<br> <a href="http://t2-project.org/">http://t2-project.org</a> | <a href="http://rene.rebe.de">http://rene.rebe.de</a></span></div></div></div></body></html>