amber@engin.umich.edu (Lee Liming) (06/14/91)
We've recently upgraded our OSF/Motif from 1.1.1 to 1.1.2. One of the bug
fixes listed for this version is "pir 2652", which supposedly fixes a problem
with "extra" segments with zero-length text ("") being added to compound
strings created using the XmStringLtoRCreate() function.
After recompiling a home-brew application with the new version, I discovered
that the new XmStringLtoRCreate() will consider ANY zero-length text segment to
be "extra", including those embedded between non-zero-length segments in the
argument passed to it. It consequently throws them all away.
Our revision 1.1 OSF/Motif Programmer's Guide says nothing about this function
dropping empty text segments from the compound strings it creates. The ability
to have zero-length segments was useful for creating blank lines in the text
displayed in XmLabel widgets, for example, perhaps in cases where you don't
know at compile-time what text will be displayed.
Was this really the intention behind this bug fix, or was it overkill? Is
there something obvious (or a "greater purpose") that I'm overlooking? Maybe
compound strings weren't meant to be used this way?
For now, I'm bypassing this "feature" by simply replacing zero-length segments
with segments containing a space. It seems like this is a hack, though, and
shouldn't be necessary. What's wrong with zero-length segments in compound
strings?
--
-------------------------------------------------------------------------------
Lee Liming
Computer Aided Engineering Network
The University of Michigan