Package: xfprint4
Version: 4.4.2-1~bpo40+2+fco
Severity: normal
Tags: patch

xfprint only uses settings of its start time to print, not the ones set in the 
print dialog.
If one wants to take new settings into account, one must start it, set 
settings, save them, close, restart it and at last print.  If one wants to 
change settings for a single print, it's not directly possible without 
double-save operations.

Reading the source confirmed the observed behaviour.  Correction is simple, 
attaching a patch file...

NB: I'm running a BPO version, but the bug exists in both Debian's stable 
(4.3.99) and upstream (also SVN) versions.


-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-6-686
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15)

Versions of packages xfprint4 depends on:
ii  libatk1.0-0            1.12.4-3          The ATK accessibility toolkit
ii  libc6                  2.3.6.ds1-13etch5 GNU C Library: Shared libraries
ii  libcairo2              1.2.4-4.1+etch1   The Cairo 2D vector graphics libra
ii  libcupsys2             1.2.7-4etch3      Common UNIX Printing System(tm) - 
ii  libfontconfig1         2.4.2-1.2         generic font configuration library
ii  libfreetype6           2.2.1-5+etch2     FreeType 2 font engine, shared lib
ii  libglib2.0-0           2.12.4-2          The GLib library of C routines
ii  libgnutls13            1.4.4-3           the GNU TLS library - runtime libr
ii  libgtk2.0-0            2.8.20-7          The GTK+ graphical user interface 
ii  libpango1.0-0          1.14.8-5          Layout and rendering of internatio
ii  libpng12-0             1.2.15~beta5-1    PNG library - runtime
ii  libx11-6               2:1.0.3-7         X11 client-side library
ii  libxcursor1            1.1.7-4           X cursor management library
ii  libxext6               1:1.0.1-2         X11 miscellaneous extension librar
ii  libxfce4mcs-client3    4.4.2-1~bpo40+1   Client library for Xfce4 configure
ii  libxfce4mcs-manager3   4.4.2-1~bpo40+1   Manager library for Xfce4 configur
ii  libxfce4util4          4.4.2-1~bpo40+1   Utility functions library for Xfce
ii  libxfcegui4-4          4.4.2-1~bpo40+1   Basic GUI C functions for Xfce4
ii  libxfixes3             1:4.0.1-5         X11 miscellaneous 'fixes' extensio
ii  libxi6                 1:1.0.1-4         X11 Input extension library
ii  libxinerama1           1:1.0.1-4.1       X11 Xinerama extension library
ii  libxrandr2             2:1.1.0.2-5       X11 RandR extension library
ii  libxrender1            1:0.9.1-3         X Rendering Extension client libra
ii  zlib1g                 1:1.2.3-13        compression library - runtime

xfprint4 recommends no packages.
Ce message est à l'attention exclusive des destinataires désignés. Il peut 
contenir des informations confidentielles. Si vous n'êtes pas destinataire du 
message, merci d'en avertir immédiatement l'expéditeur et de détruire ce 
message. Le contenu de ce message ne pourrait engager la responsabilité de 
Steria que s'il a été émis par une personne dûment habilitée agissant dans le 
strict cadre de ses fonctions et à des fins non étrangères à ses attributions. 
Bien que les meilleurs efforts soient faits pour maintenir cette transmission 
exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa 
responsabilité ne saurait être engagée pour tout dommage résultant d'un virus 
transmis.  
This message is intended exclusively for the designated addressee. It may 
contain confidential material. If you are not the correct addressee, please 
notify the sender immediately and destroy the message. The content of this 
message will engage the responsibility of Steria only if it has been sent by an 
authorized person acting in the strict scope of his functions and for purposes 
that are related to his competence. Although reasonable efforts have been made 
to keep this transmission free from viruses, the sender will not be liable for 
damages caused by a transmitted virus.  
--- xfprint-4.4.2.orig/xfprint/print_dialog.c	2007-11-17 20:31:59.000000000 +0100
+++ xfprint-4.4.2+fco/xfprint/print_dialog.c	2008-04-21 13:19:57.000000000 +0200
@@ -422,6 +422,19 @@
   printers_free (printers);
 }
 
+static void
+print_dialog_get_settings (XfprintSettings *settings, PrintDialog * dlg)
+{
+  PrintDialogPrivate *priv = PRINT_DIALOG_GET_PRIVATE (dlg);
+
+  sheets_page_get_settings (SHEETS_PAGE (priv->sheets), &settings->sheets);
+  vpages_page_get_settings (VPAGES_PAGE (priv->vpages), &settings->vpages);
+  pprint_page_get_settings (PPRINT_PAGE (priv->pprint), &settings->pprint);
+  input_page_get_settings (INPUT_PAGE (priv->input), &settings->input);
+  head_page_get_settings (HEAD_PAGE (priv->head), &settings->headings);
+  settings->copies = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (priv->copies));
+}
+
 /*************/
 /* callbacks */
 /*************/
@@ -437,6 +450,7 @@
     XfprintFilter *filter;
     
     filters = xfprint_filterlist_new ();
+    print_dialog_get_settings (priv->settings, dlg);
     
     if (GTK_WIDGET_IS_SENSITIVE (priv->entry_file)) {
       ofile = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->entry_file)));
@@ -495,17 +509,11 @@
 static void
 button_save_clicked_cb (GtkWidget * widget, PrintDialog *dlg)
 {
-  PrintDialogPrivate *priv = PRINT_DIALOG_GET_PRIVATE (dlg);
   XfprintSettings *settings;
   
   settings = xfprintsettings_defaults ();
 
-  sheets_page_get_settings (SHEETS_PAGE (priv->sheets), &settings->sheets);
-  vpages_page_get_settings (VPAGES_PAGE (priv->vpages), &settings->vpages);
-  pprint_page_get_settings (PPRINT_PAGE (priv->pprint), &settings->pprint);
-  input_page_get_settings (INPUT_PAGE (priv->input), &settings->input);
-  head_page_get_settings (HEAD_PAGE (priv->head), &settings->headings);
-  settings->copies = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (priv->copies));
+  print_dialog_get_settings (settings, dlg);
 
   xfprintsettings_save (settings);
   xfprintsettings_free (settings);

Reply via email to