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, | 
