XSane Changes


XSane-0.996 is available as source code. The changes are:
  • corrected bug in PDF documents
  • viewer window does not use full screen without window frame for large images any more
  • removed bug when deleting medium type


XSane-0.995 is available as source code. The most important changes are:
  • several layout changes
  • email mode: it is allowed to specify multiple mail receivers
  • scanning and conversion speed is increased on several machines
  • hang/infinite loop problem that occured with some scanners is solved
  • translation updates


XSane-0.994 is available as source code.
  • corrected postscript bug: moved "/DeviceRGB setcolorspace" and "CSA... setcolorspace" from document setup to page setup
  • added black point compensation to printer setup dialog
  • xsane-scan.c: bugfix segfault when scanning: when scanner_default_color_icm_profile is not defined then "" is used instead of scanner_default_color_icm_profile
  • xsane-scan.c: if (channels==1) then scanner_default_gray_icm_profile is used instead of scanner_default_color_icm_profile


XSane-0.993 is available as source code. The most important changes are:
  • A lot of color management improvements (CMS still in beta test):
    • embedded profiles for postscript and PDF
    • convert to sRGB
    • convert to working color space
  • 12 bits/channel support for postscript
  • usage of new gtk_file_chooser
  • added browse function for project directories
  • removed bug in e-mail mode
  • translations: U=updated, U*=partly updated, N=not updated:
    ca cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv tr vi zh zh_CN
    N  N  N  U  N  N  N  N  N  N  N  N  N     N  N  N  N  N  N  N  N  N  N

Some previous changes:

  • added support for color management:
    • added tab "color management" to setup/preferences
    • preview can display ICC/ICM corrected images with 8bits/color and with 16bits/color input bit depth
    • viewer can display ICC/ICM corrected images with 8bits/color and with 16bits/color input bit depth
    • gamma correction and medium selection is disabled when color management is enabled
    • added support for embedded ICC/ICM files for tiff, jpeg, png and gimp plugin
  • xsane_save_scaled_image sometimes did not write the last line and produced a tuncated image. this is corrected now
  • corrected order of filetypes in xsane_back_gtk_filetype_menu_set_history, now the filetype are not mixed any more when the disk icon is pressed
  • replaced all "\n" by "\r\n" in email
  • fixed memory bug that caused crash when setup was closed (display_notebook)
  • added command line option --xsane-rc / -r to give alternative filename for xsane.rc
  • added default multipage_filetype (PDF). No default multipage_filetype produced an error message when creating multipage file: could not create secure file
  • added preferences/setup options:
    • save_ps_flatedecoded
    • save_pdf_flatedecoded
    • fax_ps_flatedecoded
    • printer[i].ps_flatedecoded
  • when no resolution option is available then xsane uses a resolution of 72.0 dpi. This e.g. is used for postscript and PDF.
  • when force_filename is set then the filetype is defined by the filename instead of preferences.filetype
  • changed handling of ADF:
    • removed ADF scanmode selection from setup
    • added entry for number of pages to scan in xsane main dialog
    • next scan is not started by
             g_signal_emit_by_name(xsane.start_button, "clicked");
      any more. This executed the next scan before all active scan subroutines have been finished. Now we use
             gtk_timeout_add(100, (GtkFunction)xsane_scan_dialog, NULL);
      to start xsane_scan_dialog after 100ms.
  • added ASMTP authentication PLAIN and LOGIN
  • added (single page) PDF saving routine (patch by Julien BLACHE)
  • added Postscript Zlib-Compression and Ascii-85 compression (patch by Julien BLACHE)
  • added PDF and Postscript to mail-mode. PDF and Postscript documents can not be displayed inline in html mails. I also do not know a way to display a link to a document that is integrated in the mail. So the IMAGE tag has no effect for pdf and postscript documents in html mode.
  • corrected bug that made problems while scanning in batch scan mode, the bug was introduced in xsane-0.97
  • selected medium definition is stored in preferences
  • xsane_set_all_resolutions stores bestdpi as used resolution
  • added xsane_mode (VIEWER/SAVE/EMAIL/FAX/etc) to preferences
  • viewer uses preferences.filetype instead of by ext
  • write_smtp_footer(): changed ".\r\n" by "\r\n.\r\n", this solves problems with microsoft exchange servers.
  • xsane-save.c: xsane_copy_file(): removed fclose(infile) and fclose(outfile) this bug caused the error message
    *** glibc detected *** double free or corruption (!prev): 0x........ ***
    with new glibc versions
    xsane-save.c: xsane_copy_file_by_name(): added fclose(infile) and fclose(outfile)
  • rmoved gtk_events_pending() from the waiting loop in xsane_back_gtk_get_filename, it looks like gtk_events_pending() increases CPU load very much.
  • fax progress bar does not change it's height any more when the fax dialog is resized
  • mail progress bar does not change it's height any more when the mail dialog is resized
  • added lockfile to mail project. The lockfile contains status and progress information from the mail_send_process and is used to display a progress_bar
  • mail status is only translated when it is displayed via gtk, in the data structures the untranslated texts are used
  • changed mail_attach_image_png to mail_attach_image, mime type is defined by parameter
  • added filetype menu to mail dialog with filetypes PNG, JPEG and TIFF
  • bugfix: viewer saves lineart PNM images again as lineart (bug in xsane-0.95)
  • when image is saved as pnm and it is not reduced to lineart then the input file is copied with xsane_copy_file => much faster
  • xsane-save.c: reordered function parameters for saving/conversion functions to (outfile, infile,...) or (output_filename, input_filename, ...) (before we had sometimes infile at first and sometimes outfile at first)
  • xsane_set_sensitivity: mail_dialog and fax_dialog: the sensitivity off all but the progress_bar is set
  • While mail is prepared (images are converted) the xsane sensitivity is set to FALSE to make sure that the xsane mode is not changed in this case. while sending the mail (after preparation) the xsane sensitivity is set to TRUE and the project entry sensitivity is also TRUE, it is allowed to changed xsane mode and to change the mailproject, because the sending of the mail is done in a separate process, so there is no influence by changing the mail project name.
    When xsane is closed while sending one or more mails then xsane is closed but the mail sending subprocesses are not terminated.
  • added SMTP (HELO/FROM/RCPT/DATA) errors to mail status
  • added xsane.fax_status, it is saved in the first line of the xsane-fax-list this means that the fax project directories are incompatible to earlier versions!
  • added mail_status and fax_status = ..._CHANGED when a new page is added to the project
  • email images are named "image-1" instead of "page-1"
  • fax_dialog_delete() and mail_dialog_delete() return TRUE now. In windows it was possible to delete the dialogs what caused a crash when the window should be used or closed.
  • xsane-preferences.c: when identifier is unknown or not a string then the parser does not abort or crash any more. XSane now should not have any problems with old config files.
  • added undo function (1 step) to viewer
  • last saved filename is displayed in viewer window title
  • added automatically counter increase to viewer
  • internal viewer is used to display images in email mode
  • internal viewer is used to display scanned images in fax mode
  • fax fine mode selection is stored in preferences now
  • when a postscript file is added to a faxproject then the original name of the file is also used in the faxproject now. The pagecounter is still increased!
  • some changes in the xsane main dialog menues
  • several menu und icon changes in the viewer window
  • in xsane_back_gtk_value_update: removed rounding (+ 0.5) in case SANE_TYPE_INT
  • XSane icon is automatically packed into windows xsane.exe
  • improved handling and creation of medium definitions. The medium definition menu now has a context menu (right mouse button to a selected icon of the menu)
  • added documentation how to use a medium and how to define a medium
  • moved medium defintions from xsane.rc to xsane.mdf
  • several compatibility changes for WIN32
  • added gimp-2.0.x support
  • added range values 9-25% to scaling list of xsane-viewer: 9, 13, 18, 25, 35, 50, 71, 100, 141, 200, 282, 400
  • when no docviewer is defined at xsane startup (generally when xsane is started the first time) then xsane tries to read the environment variable $BROWSER, if this fails it sets docviewer to a default browser.
  • added 2 calls xsane_find_best_resolution() in xsane_resolution_widget_new() to make sure that active value really is selectable in a list of resolutions
  • Since april 2000 there is defined a pnm (ppm/pgm) format for 16 bit binary images. With this format the unofficial RAW16 format that has been used by xsane until version 0.88 becomes senseless. The RAW16 format has been removed, xsane does create 16 bit binary pnm files now (the difference between the RAW16 and the pnm16binary format is that the pnm16binary format always uses MSB first while RAW16 was written in machine byte order). In preferences-Setup->Image there is a selection if the pnm16 image shall be saved in ascii or binary format. When you have any problems with the pnm16binary format then make sure at first that the program you use does support it correct. imagemagic does support it, the xv version 3.10a does not support it.
  • working directory is saved in preferences
  • Some people complained that the user has to accept the GPL to use the program. In fact from the view of the GPL it is not necessary that the user accepts the license to run the program. But it is important that the user reads and accepts the "NO WARRANTY" part of the license. Due to this I created two dialogs:
    • EULA-Dialog displays the "NO WARRANTY" part of the GPL
    • GPL-Dialog displays the compelte GPL
    To run the program the user has to accept the "NO WARRANTY" agreement after installation and each update of xsane. I hope this compromise is usable for every side. Please understand and accept that it is necessary in some countries that the user accepts the no warranty agreement to make sure that the authors and others do not have to pay any compensation in the case of any damage

For more/detailled news read: xsane.CHANGES

Author: Oliver Rauch