This document will list the upcoming changes to the latest released
Xew version. Usually these changes are useful only for those who are
"pushing the limits" of the widgets. The changes and patches here will
be reasonably stable and will most likely be included into the next
release. But, beware, this is not 100% guaranteed.
- XeRasterDisplay: patch #1
- not a bug, but adds a new programmatic function
XeRasterDisplay to the XeRaster widget. Patches the
files Raster.h and Raster.c in the Xew
directory. The XeRasterDisplay description is already included in the documentation.
- BadMatch error from the text selection highlighting: patch #2
- when doing selections with mouse and crossing the columns, you
might get something like:
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 59 (X_SetClipRectangles)
Serial number of failed request: 3109
Current serial number in output stream: 3145
This is caused by a typing error in the TextEd.c/XeUpdateTextRegion
function. The patch modifies XeTextEd.c and fixes this bug.
Note, even after this, the selection highlighting is not
shown correctly in a multicolumn layout, when you select across
columns. However, the selected range is correct even in that
case.
- Unmanaged children and XeFrame: patch #3
- Frame.c/MaximizeChildren may deference NULL pointer when the
child is unmanaged.
This patch is only needed if your application uses XeFrame and
plays with managed status of the XeFrame children.
- Interlaced GIF bug: patch #4
- A really embarrashing bug in handling of interlaced images in
RasterGIF.c. If you load more than one interlaced GIF in your
application, the bug will corrupt memory.
The code used a static variable to flag initialization. Once used
the code never initialized for other interlaced GIF's. (This fix is a
minimal quick hack, as I am not going to get fancy with the GIF format
at this stage).
You definitely need this patch if any of your GIFs are in
interlaced format.
- Two fixes to the Xew Printing:
patch #5
- XePrint was not supposed to print unmanaged widgets. However, it
only tested the managed status of indidual widgets, not whether widget
had unmanaged ancestor. The fix is that in print preparation phase,
the unmanaged subtrees are not "cloned" at all (Xew/Print.c
modified). (NOTE: this applies only to "interior" widgets, the top
level widget directly given to the XePrint can be either managed or
unmanaged).
- If the widget tree to be printed included widgets whose window
was InputOnly, Xew/GetImage.c produced bad match error. The fix is
to do nothing with InputOnly windows.
This fix is only needed, if you are using printing and can actually
run into the described special conditions.
- xTranslation and yTranslation: no patch yet
- the xTranslation and yTranslation resources were primarily
introduced, because the printing support needed such feature. They
were also intended to be useful for other purposes.
However, it seems that the expose handling, when either of these
has non-default value, is not doing the correct thing. Fix will be
available at some later point.