diff options
Diffstat (limited to 'src/scanner.vala')
-rw-r--r-- | src/scanner.vala | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/src/scanner.vala b/src/scanner.vala index becb9fa..237e1eb 100644 --- a/src/scanner.vala +++ b/src/scanner.vala @@ -662,10 +662,12 @@ public class Scanner : Object switch (option.constraint_type) { case Sane.ConstraintType.RANGE: - if (option.type == Sane.ValueType.FIXED) - s += " min=%f, max=%f, quant=%d".printf (Sane.UNFIX (option.range.min), Sane.UNFIX (option.range.max), (int) option.range.quant); - else - s += " min=%d, max=%d, quant=%d".printf ((int) option.range.min, (int) option.range.max, (int) option.range.quant); + if (option.range != null) { + if (option.type == Sane.ValueType.FIXED) + s += " min=%f, max=%f, quant=%d".printf (Sane.UNFIX (option.range.min), Sane.UNFIX (option.range.max), (int) option.range.quant); + else + s += " min=%d, max=%d, quant=%d".printf ((int) option.range.min, (int) option.range.max, (int) option.range.quant); + } break; case Sane.ConstraintType.WORD_LIST: s += " values=["; @@ -682,11 +684,13 @@ public class Scanner : Object break; case Sane.ConstraintType.STRING_LIST: s += " values=["; - for (var i = 0; option.string_list[i] != null; i++) - { - if (i != 0) - s += ", "; - s += "\"%s\"".printf (option.string_list[i]); + if (option.string_list != null) { + for (var i = 0; option.string_list[i] != null; i++) + { + if (i != 0) + s += ", "; + s += "\"%s\"".printf (option.string_list[i]); + } } s += "]"; break; @@ -1422,6 +1426,10 @@ public class Scanner : Object if (status == Sane.Status.NO_DOCS) { do_complete_document (); + if (page_number == 0) + fail_scan (status, + /* Error displayed when no documents at the start of scanning */ + _("Document feeder empty")); return; } |