# Bugs Fixed

## Current release:

Bugs Fixed in xfig 3.2.5c

## Older releases of xfig:

xfig 3.2.5

## Bugs Fixed in xfig 3.2.5c

Increased default width of layer panel from 58 to 64 to accomodate scrollbar width
missing comma in FIXED_JAPANESE_PDF #ifdef case in w_cmdpanel.c
printer name enclosed in apostrophes when printing in case has spaces in name
new link from Elizabeth Bailey for Fig applications referenced in installation.html
old link to duke.uask.ca for Fig applications has new link in installation.html
Typo in message "GIF read error on extention ..." should be "extension"
Possibility of stack overflow with malformed Fig files.
In version 1.4 of the PNG library dither was removed so xfig now uses quantize when importing PNG images with palettes
Other updates for PNG library version 1.5 from Peter Volkov
Some versions of Cygwin don't have either REG_NOERROR or REG_OKAY defined so REG_NOERROR defined to be 0
Changed X-Spline parameter to match original intent of X-Spline authors: changed definition of Q(s) from -s to -0.5 * s in u_draw_spline.c
Allowance for stricter ghostscript in -dSAFER mode. Was causing error on reading EPS images. From Hans de Goede
Security vulnerability with importing images fixed (RedHat bug # 657981 - xfig buffer overflow when opening .fig file with malicius color definition)
When exporting to combined PS/PDF/LATEX the -D option to exclude all but active layers was not passed to fig2dev
Uses 24-bit color instead of 8-bit when importing eps files (pcx24b driver for ghostscript)
Bug in freeing null fontset
Semicolon (;) added at end of MimeType line in xfig.desktop as per http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
Reference to "Darwin Ports" changed to "MacPorts"
Renamed O_TEXT to O_TXT to avoid conflicts with system define
On lines with Round or Projecting cap style and arrowheads, the line endpoint stuck out beyond the arrowhead
From Vladsilav Zavjalov:
Uses fontsets for all fonts in international mode
SEGV when zooming while creating object (e.g. text)
Add locale_encoding appres which acts similar to euc_encoding, but uses system locale and mbrlen function for multibyte character length calculation.
Move "file not found" error message from check_docfile() to launch_viewer(), remove excess check_docfile() call. Error message is not shown when looking for a locale-dependent docs. It is shown only if no docs found at all.
Do not do strcpy with equal arguments in w_cmdpanel.c/update_cur_filename()
Print to file had extra argument in sprintf in international mode
Message panel not tall enough with 3D Athena widgets
Warnings about different size of int and void * on 64-bit system. To fix this problem I changed int to intptr_t in some places.

## Bugs Fixed in xfig 3.2.5b

Dimension line indicator incorrectly showed arrow length/width
Several patches from Fedora xfig maintainer
divide by 0 under certain circumstances in ruler code - From Libor Pechacek
Segfault if PRINTER env variable was not defined

## Bugs Fixed in xfig 3.2.5a

dimension line arrowhead width and length used %d instead of %f in dialog, always displaying 0
leftover debugging printf(...color = ) in startup
finally fixed size of mode panel so it doesn't cover indicator panel under certain circumstances
removed "Alpha" from splash
updated copyright date in Help/About
problem with depth panel height due to snap mode indicator
snap indicator indicated "Focus" when "Diameter" was selected
w_keyboard.c had pointer assignment reversed
extraneous "done" in Imakefile in "install.jhtml" section From Eric Scott
many protoytpe cleanups from Eric Scott
#ifndef __FreeBSD__ added around #include < alloca.h > from Eric Scott
uses rint() instead of lrint() for those with non-C99 compilers
Solaris doesn't have REG_NOERROR for regex, so have new #define for that
added dependency on version.h and patchlevel.h for f_util.c and f_save.c to Imakefile
In imperial fractional scale mode, if the user scale factor wasn't 1.0, xfig would switch to decimal mode. This has been fixed to remain in fractional mode.
Added condition for GLIBC to not declare srandom(int)
Better resizing of message popup panel
Map of Spain included Portugal. From Eugen Dedu.
Double-clicking on either style or family would crash xfig
Export/Print grid units were not reset when loading Fig file of different units
When converting empty export/print grid units to fractional inches would make 0/2
Escaped hyphens in man page From Roland Rosendfeld
When exporting to all three: PostScript, PDF and TeX, incorrectly generated PostScript and PDF that included LaTeX-only (special) text
Bug when doing Save As to a shorter filename - would corrupt name sometimes
Note about 450 pixels/cm didn't make it from the FORMAT3.1 file to FORMAT3.2
Print command was using -P instead of -d for lp
On Cygwin, needed to double-escape PRINTER environment when backslashes in name
w_library.c had incompatible poiner type in call to ScanLibraryDirectory
Not enough characters allocated for ruler inch/cm indicators. Would cause segfault on zooming out because of longer ruler text, e.g. -10210cm

## Bugs Fixed in xfig 3.2.5

xfig would crash on 64-bit processors because of a missing include, which causes new_string() to be declared implicitly as returning an integer. This may cause the top 32 bits to get lost and hence the crash.
Blanks not preserved in imported picture filename when reading Fig file
When in metric mode, decimal precision was ignored for dimension lines
When showing vertex numbers on objects, first vertex is now 0 to match edit window vertex numbers
Also, vertex numbers are not shown on inactive (grayed) layers
Widget shadow resources moved from Fig-color to Fig because they don't really have anything to do with color. There was a problem when running KDE because it set a global resource *Scrollbar*height: which made xfig freeze when *customization: -color was NOT used.
The point positioning indicator is turned on when editing a compound object to show the user that it is used
Increased the maximum size of images that can be imported. There was a limit in the PostScript image encoder of 4096x4096 pixels. This was increased to 8192x8192.
Centered text was changed to left-justified when flipped horizontally inside a compound object.
With -v option, after reporting the version, xfig would say that -v was an unknown option
Local locale was being used when writing the xfig cut buffer file instead of switching to "C" locale. This created commas instead of decimal (.) for numbers in those particular locales. From Dirk Osswald
Local locale was used when forming command for calling fig2dev, resulting in commas instead of decimals for floating point numbers.
count_user_colors buffer overflow fixed
Under Cygwin, temporary file stayed around after unlink(), causing error when importing more than one ps/eps/pdf file
Segfault when using -update because appres resources were NULL
-update option failed when not first option passed to xfig
Clicking window manager "close window" button in library titlebar didn't close the window
Wasn't distributing objects in compounds when there were only 2 objects
Some compilers complain about the order of declaration in u_fonts.h - fixed
Northern part of map of India was incorrect (Libraries/Maps/Asia/india.fig)
Map of Serbia was misnamed "yugoslavia.fig" (Libraries/Maps/Europe/yugoslavia.fig)
Map of Central Europe had old Yugoslavia instead of Croatia, Serbia, Bosnia- Herzegovina, and Macedonia (also, Slovenia was mistakenly inside the border)
Editing a compound object with more than 200 texts would crash xfig

## Bugs Fixed in xfig 3.2.5-alpha5

typo in latex_and_xfig.html and LATEX_AND_XFIG files. Text should be: \convertMPtoPDF{foo.0}{1}{1} It was missing parameters {1}{1}
-correct_font_size missing from -help option list and man pages
-help and -version didn't work unless they were first in the options
-O option wasn't passed to fig2dev for overlapping pages in multiple page mode for PostScript export

## Bugs Fixed in xfig 3.2.5-alpha4

When loading a library object, if it contained only a compound and nothing else, when xfig promoted that compound to the toplevel the main comment was lost
Incorrect header files used for SmeBSB resulted in either segfault or none of the command panel entries being underlined
Drawing very large splines (e.g. at zoom = 0.01) caused integer roundoff errors, making xfig loop indefinitely
Bug where a line that had a zero width or length arrowhead was not redrawn after being moved, copied, canvas redraw, etc.
The page border and axis lines would obscure Fig objects when moving, copying etc. other objects on the canvas.
In the popup picture editor, if the relative position of the corners of the picture were changed, the rotation field was not updated (this bug was in 3.2.5-alpha3 only)

## Bugs Fixed in xfig 3.2.5-alpha3

Missing #ifdef XAW3D in SimpleMenu.c
Bug when breaking a compound object - depths were added twice to the counts
When implicitly cancelling the placement of a library object by choosing another mode, xfig would tell user to cancel or finish the current operation, but there was no way to do that
Picture Reread button was active before file was read the first time
Rereading picture in edit popup produced bad colors
When using multiple copies of an imported picture, h/w ratio was not computed for copies
Importing PCX images were incorrect when bytes per line different from width*bpp
When passed a filename containing a directory name for a Fig object library using -library_dir, and that directory only contains Fig files and no subdirectories with Fig files, xfig segfaulted
Several checks for memory allocation failure added to the library loading procs
Forgot to free allocated memory when return abnormally from loading libraries
Path length check in loading libraries fixed
Missing include for put_msg prototype in e_measeure.c
Needed #ifdef for XtVersion in SmeBSB.c (X11R5 doesn't have international fontset)
Added SIGPIPE signal to ignore in case an external program dies when we're using pipes
Screen capture on an MSBFirst X server with 24/32 bits per pixel was incorrect.
Importing any image file on such a server was incorrect (bytes/bits reversed).
Reading GIF or PCX files on 24-bit server *and* on big-endian machine (e.g. Sparcstation) resulted in bytes being swapped and funny colors
Could popup unit dialog when drawing/editing objects
Embedded whitespace in filenames in recently loaded files weren't parsed properly (.xfigrc)
When pasting an object on the canvas, point positioning grid wasn't used
Bug when reading a compressed eps file (file handle was passed to open proc instead of name)
Minor grid spec used twice instead of minor/major when passed to fig2dev
Fixed conversions of export/print grid values when switching to/from metric, decimal or fraction
When loading or merging a file, xfig appended ".fig" to the name if there wasn't ".fig" in the name. Now it only appends ".fig" if there is no suffix (no ".").
When appending the ".fig" before the previous change, xfig would segfault
Libraries/Electronic/Schematic/transformer and transformer_ironcore aligned to 1/16" grid
Bugs in indicator panel display of text flags, dimension line params and arrow size params when cycling through settings with middle or right mouse button
Bug in callbacks for dimension line checkboxes that select actual length or user text
When exporting to Combined PDF/LaTeX it uses ".pdf" and ".pdf_t" suffixes because LaTeX doesn't recognize ".pdftex" as a PDF file
Better clipping around arrowheads on thick lines (lines that are thicker than the arrowhead is wide)
Checks for open splines of less than 2 points when reading figure file and removes them
Clicking middle mouse button after creating first point of closed spline switched to freehand mode
Export panel sections would get messed up when changing export languages
Now checks whether scrollbars support StartScroll before trying to use it for the wheel scrolling. When the Xaw widgets are compiled with ARROW_SCROLLBAR, there is no such action.
pstex_t export lacked border option (-b) to align LaTeX text when pstex figure specified border (also fixed in fig2dev)
Create one picture object with no filename, then create another and xfig crashed
Some bugs when freeing dimension line components
Bad choices for grid dot spacing in metric mode in the 5mm grid, and decimal inch mode in the 0.5 and 1.0 inch grids
-international flag missing from xfig.html and xfig.man docs
Added call to XsetLocaleModifiers() when initializing input method (-international mode only)
xfig was limiting arrowhead lengths to 50 pixels instead of 50 inches, and the width to 10 pixels instead of 10 inches.
edit panel for circles shouldn't have "angle" entry
edit panel wasn't allowing typing in of negative angles for text and ellipses
Objects were sometimes drawn with a wild point when zooming
Full path was being added to default export filename and wasn't changing when user changed directories
When drawing a box or rounded box with the "show line lengths" on, the sizes were in Fig units (1200ppi) instead of user units.
Spacing cedilla (ISO 0xB8 / octal 270) was missing from CompKeyDB file
Changing the units in the popup edit panel for a text object caused a segfault.
Rulers and grid didn't change scale when user scale was != 1.0. Even though the message window showed the correct user scale when drawing objects, the rulers and grid still showed the unscaled values.
Axis lines through 0,0 now drawn after page border so it remains visible when there is a grid
Segfault if current directory was deleted after starting xfig
Positioning grid was set to "ANY" when editing a compound object, causing the original bounding box to be lost
Bug in arc drawing caused arcs to be drawn as circles at high zoom
Computing the area of a polygon larger than 38x38 inches overflowed calculation
Bug in bounds calculation for ellipses and circles that increased bounding box even with line width = 1
Limit on number of styles in a family wasn't checked
If all depths were turned off and any edit operation was attempted on the canvas such as move object, delete object, xfig would hang, searching for objects indefinitely.

[ Contents | Introduction | Credits ]