Parent document is top of "Motif FAQ (Part 2 of 9)"
Previous document is "22) I want to use C++ with Motif. Where can I find C++ examples?"
Next document is "24) How compatible are Motif 1.2.* and X11R6?"

23) Is Motif 2.0 backward compatible with Motif 1.2? Does a program

written for Motif 1.2 compile and run with Motif 2.0?

[Last modified: Jan 96]

Answer:  (See also the next subject.)  Doug Rand <drand@sgi.com> writes: "It
is backward compatible except where it isn't :)

1) Subclassed widgets which do not use XmResolvePartOffsets won't work.

2) If you free your XmStrings using any technique other than XmStringFree, it
is quite likely that your program either won't compile, or will crash with a
core dump at runtime. [Wording change for (2) provided by Alan Ezust
(ezust@learnix.ca).]

3) If you use libMrm and relink with the new shared library,  you'll need to
make the new modern .uid files (but if you wait for the Motif from CDE you
don't need to do this one).

4) If you assume that XmStrings are ASN.1 strings and play with them, it won't
work.  They are now data structures.  But the good news is that XmStringCopy
just increments a reference count now.

Note that #1 and #2 where always documented this way and aren't supposed to
work.

Otherwise,  it's pretty compatible.  We relinked a number of things and they
continued fine.  [These] include xrn (Motif), and a couple of other moderately
big things.  I want to say we did xmosaic,  but I can't remember if I'm right
about that.

#1 isn't a problem if you recompile your subclassed widgets.  But then there
is a source compatibility problem that you may need to include the obsolete
modules for the _Xm functions.  Proper 2.0 subclasses use Xme functions,  and
there is even a document."

Parent document is top of "Motif FAQ (Part 2 of 9)"
Previous document is "22) I want to use C++ with Motif. Where can I find C++ examples?"
Next document is "24) How compatible are Motif 1.2.* and X11R6?"