diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/preferences-dialog.vala | 2 | ||||
-rw-r--r-- | src/scanner.vala | 26 | ||||
-rw-r--r-- | src/simple-scan.vala | 2 |
3 files changed, 19 insertions, 11 deletions
diff --git a/src/preferences-dialog.vala b/src/preferences-dialog.vala index 06dca75..a0fb9e9 100644 --- a/src/preferences-dialog.vala +++ b/src/preferences-dialog.vala @@ -276,7 +276,7 @@ private class PreferencesDialog : Gtk.Dialog combo.add_attribute (renderer, "text", 1); var model = combo.model as Gtk.ListStore; - int[] scan_resolutions = {75, 150, 300, 600, 1200, 2400}; + int[] scan_resolutions = {75, 150, 200, 300, 600, 1200, 2400}; foreach (var dpi in scan_resolutions) { string label; 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; } diff --git a/src/simple-scan.vala b/src/simple-scan.vala index 3f495e5..84d8a8c 100644 --- a/src/simple-scan.vala +++ b/src/simple-scan.vala @@ -1773,7 +1773,7 @@ public class SimpleScan : Gtk.Application * but will not work on KDE, LXDE, XFCE, ... */ inhibit_cookie = inhibit (app, Gtk.ApplicationInhibitFlags.IDLE, reason); - if (!is_inhibited (Gtk.ApplicationInhibitFlags.IDLE)) + if (inhibit_cookie == 0) { /* If the previous method didn't work, try the one * provided by Freedesktop. It should work with KDE, |