summaryrefslogtreecommitdiff
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/00list7
-rw-r--r--debian/patches/01_xcam.c_dead_code.dpatch29
-rw-r--r--debian/patches/02_xcam_man_typo.dpatch39
-rw-r--r--debian/patches/03_scanadf_options_fix.dpatch46
-rw-r--r--debian/patches/04_cap_always_settable.dpatch21
-rw-r--r--debian/patches/05_xcam_off_by_one.dpatch19
-rw-r--r--debian/patches/06_word_list_fix.dpatch42
7 files changed, 203 insertions, 0 deletions
diff --git a/debian/patches/00list b/debian/patches/00list
new file mode 100644
index 0000000..d65c845
--- /dev/null
+++ b/debian/patches/00list
@@ -0,0 +1,7 @@
+01_xcam.c_dead_code
+02_xcam_man_typo
+03_scanadf_options_fix
+04_cap_always_settable
+05_xcam_off_by_one
+06_word_list_fix
+
diff --git a/debian/patches/01_xcam.c_dead_code.dpatch b/debian/patches/01_xcam.c_dead_code.dpatch
new file mode 100644
index 0000000..41a33e0
--- /dev/null
+++ b/debian/patches/01_xcam.c_dead_code.dpatch
@@ -0,0 +1,29 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 01_xcam.c_dead_code.dpatch by <jblache@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Remove dead code in src/xcam.c::load_defaults()
+
+@DPATCH@
+diff -urNad sane-frontends-1.0.14~/src/xcam.c sane-frontends-1.0.14/src/xcam.c
+--- sane-frontends-1.0.14~/src/xcam.c 2005-09-20 19:30:01.000000000 +0200
++++ sane-frontends-1.0.14/src/xcam.c 2005-09-20 19:30:59.289245755 +0200
+@@ -536,16 +536,14 @@
+ load_defaults (int silent)
+ {
+ char filename[PATH_MAX];
+- int fd;
+
+ DBG (DBG_debug, "xcam, load_defaults: enter\n");
+ if (make_default_filename (sizeof (filename), filename, dialog->dev_name)
+ < 0)
+ return;
+- if (fd < 0)
+- return;
++
+ load_settings (filename, silent);
+- sanei_load_values (fd, dialog->dev);
++
+ DBG (DBG_debug, "xcam, load_defaults: exit\n");
+ }
+
diff --git a/debian/patches/02_xcam_man_typo.dpatch b/debian/patches/02_xcam_man_typo.dpatch
new file mode 100644
index 0000000..cd35ecc
--- /dev/null
+++ b/debian/patches/02_xcam_man_typo.dpatch
@@ -0,0 +1,39 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 02_xcam_man_typo.dpatch by <jblache@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix various typos in xcam.man.
+
+@DPATCH@
+diff -urNad sane-frontends-1.0.14~/doc/xcam.man sane-frontends-1.0.14/doc/xcam.man
+--- sane-frontends-1.0.14~/doc/xcam.man 2008-03-01 15:30:54.000000000 +0100
++++ sane-frontends-1.0.14/doc/xcam.man 2008-03-01 15:32:35.802703418 +0100
+@@ -1,4 +1,4 @@
+-.TH xcam 1 "11 April 2005"
++.TH xcam 1 "19 February 2008"
+ .IX xcam
+ .SH NAME
+ xcam - a graphical camera frontend for SANE
+@@ -12,7 +12,7 @@
+ .B xcam
+ provides a graphical user-interface to control an image
+ acquisition device such as a flatbed scanner or a camera. It allows
+-scanning invidual images and can be invoked directly from the command-line.
++scanning individual images and can be invoked directly from the command-line.
+
+ .B xcam
+ acts as a stand-alone program that saves acquired images in a suitable
+@@ -43,12 +43,11 @@
+ .PP
+ The
+ .B --help (-h)
+-.B xcam
+ flag prints a short summary of options.
+ .PP
+ .TP
+ .B SANE_DEBUG_XCAM
+-This environment variable controls the debug level xscanimage. Higher
++This environment variable controls the debug level of xcam. Higher
+ debug levels increase the verbosity of the output.
+
+ Value Descsription
diff --git a/debian/patches/03_scanadf_options_fix.dpatch b/debian/patches/03_scanadf_options_fix.dpatch
new file mode 100644
index 0000000..4c1b8cb
--- /dev/null
+++ b/debian/patches/03_scanadf_options_fix.dpatch
@@ -0,0 +1,46 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 03_scanadf_options_fix.dpatch by <jblache@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Get option descriptor 0 before getting the value for option 0.
+
+@DPATCH@
+diff -urNad sane-frontends-1.0.14~/src/scanadf.c sane-frontends-1.0.14/src/scanadf.c
+--- sane-frontends-1.0.14~/src/scanadf.c 2005-09-18 13:51:00.000000000 +0200
++++ sane-frontends-1.0.14/src/scanadf.c 2008-08-05 12:00:14.826083326 +0200
+@@ -550,15 +550,33 @@
+ const SANE_Option_Descriptor * opt;
+ SANE_Int num_dev_options;
+ int i, option_count;
++ SANE_Status status;
+
+ /* and now build the full table of long options: */
+
+- sane_control_option (device, 0, SANE_ACTION_GET_VALUE, &num_dev_options, 0);
++ opt = sane_get_option_descriptor (device, 0);
++ if (opt == NULL)
++ {
++ fprintf (stderr, "Could not get option descriptor for option 0\n");
++ exit (1);
++ }
++
++ status = sane_control_option (device, 0, SANE_ACTION_GET_VALUE, &num_dev_options, 0);
++ if (status != SANE_STATUS_GOOD)
++ {
++ fprintf (stderr, "Could not get value for option 0: %s\n", sane_strstatus (status));
++ exit (1);
++ }
+
+ option_count = 0;
+- for (i = 0; i < num_dev_options; ++i)
++ for (i = 1; i < num_dev_options; ++i)
+ {
+ opt = sane_get_option_descriptor (device, i);
++ if (opt == NULL)
++ {
++ fprintf (stderr, "Could not get option descriptor for option %d\n", i);
++ exit (1);
++ }
+
+ if (!SANE_OPTION_IS_SETTABLE (opt->cap))
+ continue;
diff --git a/debian/patches/04_cap_always_settable.dpatch b/debian/patches/04_cap_always_settable.dpatch
new file mode 100644
index 0000000..e812c3d
--- /dev/null
+++ b/debian/patches/04_cap_always_settable.dpatch
@@ -0,0 +1,21 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 04_cap_always_settable.dpatch by <jblache@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Remove check for SANE_CAP_ALWAYS_SETTABLE; the flag is not part
+## DP: of the standard and has been removed upstream in SANE 1.0.20.
+
+@DPATCH@
+diff -urNad sane-frontends-1.0.14~/src/gtkglue.c sane-frontends-1.0.14/src/gtkglue.c
+--- sane-frontends-1.0.14~/src/gtkglue.c 2005-04-16 15:12:07.000000000 +0200
++++ sane-frontends-1.0.14/src/gtkglue.c 2009-06-26 13:32:04.997585725 +0200
+@@ -1476,8 +1476,7 @@
+ || opt->type == SANE_TYPE_GROUP || !dialog->element[i].widget)
+ continue;
+
+- if (!(opt->cap & SANE_CAP_ALWAYS_SETTABLE))
+- gtk_widget_set_sensitive (dialog->element[i].widget, sensitive);
++ gtk_widget_set_sensitive (dialog->element[i].widget, sensitive);
+ }
+ }
+
diff --git a/debian/patches/05_xcam_off_by_one.dpatch b/debian/patches/05_xcam_off_by_one.dpatch
new file mode 100644
index 0000000..deb56a0
--- /dev/null
+++ b/debian/patches/05_xcam_off_by_one.dpatch
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 05_xcam_off_by_one.dpatch by <jblache@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix an off-by-one.
+
+@DPATCH@
+diff -urNad sane-frontends-1.0.14~/src/xcam.c sane-frontends-1.0.14/src/xcam.c
+--- sane-frontends-1.0.14~/src/xcam.c 2009-06-26 13:50:19.000000000 +0200
++++ sane-frontends-1.0.14/src/xcam.c 2009-06-26 13:50:47.774585321 +0200
+@@ -1289,7 +1289,7 @@
+
+ /* test for pnm formats */
+ strncpy (testfilename, preferences.filename, sizeof (testfilename));
+- testfilename[sizeof (testfilename)] = 0;
++ testfilename[sizeof (testfilename) - 1] = 0;
+ g_strreverse (testfilename);
+ if (!((!strncmp (testfilename, "mnp.", 4)) ||
+ (!strncmp (testfilename, "mgp.", 4)) ||
diff --git a/debian/patches/06_word_list_fix.dpatch b/debian/patches/06_word_list_fix.dpatch
new file mode 100644
index 0000000..90d223c
--- /dev/null
+++ b/debian/patches/06_word_list_fix.dpatch
@@ -0,0 +1,42 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 06_word_list_fix.dpatch by <jblache@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix word list handling when current value is not part of the list.
+
+@DPATCH@
+diff -urNad sane-frontends-1.0.14~/src/gtkglue.c sane-frontends-1.0.14/src/gtkglue.c
+--- sane-frontends-1.0.14~/src/gtkglue.c 2009-11-14 10:46:03.248492255 +0100
++++ sane-frontends-1.0.14/src/gtkglue.c 2009-11-14 10:46:07.941492660 +0100
+@@ -913,6 +913,7 @@
+ char **str_list;
+ int i, j;
+ int num_vector_opts = 0, *vector_opts;
++ SANE_Bool val_in_list;
+
+ main_hbox = gtk_hbox_new (FALSE, 2);
+
+@@ -1073,13 +1074,23 @@
+ case SANE_CONSTRAINT_WORD_LIST:
+ /* use a "list-selection" widget */
+ num_words = opt->constraint.word_list[0];
++ if (num_words == 0)
++ {
++ fprintf (stderr, "panel_build: empty word list!\n");
++ break;
++ }
++ val_in_list = SANE_FALSE;
+ str_list = malloc ((num_words + 1) * sizeof (str_list[0]));
+ for (j = 0; j < num_words; ++j)
+ {
++ if (opt->constraint.word_list[j + 1] == val)
++ val_in_list = SANE_TRUE;
+ sprintf (str, "%d", opt->constraint.word_list[j + 1]);
+ str_list[j] = strdup (str);
+ }
+ str_list[j] = 0;
++ if (!val_in_list)
++ val = opt->constraint.word_list[1];
+ sprintf (str, "%d", val);
+ option_menu_new (parent, title, str_list, str, elem,
+ dialog->tooltips, opt->desc,