hide random home http://www.sgi.com/tech/relnotes/6_0rel/motif_dev.html (Silicon Surf Promotional CD, 01/1995)

motif_dev Release Notes

motif_dev Release Notes

1 Introduction

2 Installation Information

3 Changes and Additions

4 Bug Fixes

5 Known Problems and Workarounds

6 Documentation Errors

 



                                  - 1 -



       1.  Introduction

       Note:  Packaged with these release notes is a separate sheet
              that contains the Software License Agreement.  This
              software is provided to you solely under the terms
              and conditions of the Software License Agreement.
              Please take a few moments to review the Agreement.

       This document contains the following chapters:

         1.  Introduction

         2.  Installation Information

         3.  Changes and Additions

         4.  Bug Fixes

         5.  Known Problems and Workarounds


       1.1  Release_Identification_Information

       Following is the release identification information for the
       IRIX IM Development Environment:

       Software Option Product        IRIX IM Development
                                      Environment

       Version                        1.2.4
       System Software Requirements   IRIX 5.0 or later



       1.2  Online_Release_Notes

       After you install the online documentation for a product
       (the relnotes subsystem), you can view the release notes on
       your screen.

       If you have a graphics system, select ``Release Notes'' from
       the Tools submenu of the Toolchest. This displays the
       grelnotes(1) graphical browser for the online release notes.

       Refer to the grelnotes(1) man page for information on
       options to this command.

       If you do not have a graphics system, you can use the
       relnotes command.  Refer to the relnotes(1) man page for
       accessing the online release notes.












                                  - 2 -



       1.3  Product_Support

       Silicon Graphics, Inc., provides a comprehensive product
       support maintenance program for its products.

       If you are in North America and would like support for your
       Silicon Graphics-supported products, contact the Technical
       Assistance Center at
       1-800-800-4SGI.

       If you are outside North America, contact the Silicon
       Graphics subsidiary or authorized distributor in your
       country.














































 



                                  - 1 -



       2.  Installation_Information

       This chapter lists supplemental information to the IRIS
       Software Installation Guide.  The information listed here is
       product-specific; use it with the Installation Guide to
       install this product.

       2.1  IRIX_IM_Development_Environment_Subsystems

       The motif_dev includes these subsystems:

       motif_dev.man.dev             Preformatted reference manual
                                     pages.  This subsystem is
                                     intended to be installed on
                                     systems that do not have the
                                     nroff text formatting program.
                                     There is no reason to install
                                     both this and
                                     motif_dev.man.devmansrc.

       motif_dev.man.devmansrc       Source for the reference
                                     manual pages.  This subsystem
                                     is intended to be installed on
                                     systems that do have the nroff
                                     text formatting program.  This
                                     subsystem takes less disk
                                     space, displays better looking
                                     manual pages (especially the
                                     tables), and displays them
                                     faster than the preformatted
                                     manual pages.  There is no
                                     reason to install both this
                                     and motif_dev.man.dev.

       motif_dev.man.relnotes        Motif developer release notes.

       motif_dev.sw.Mrm-debug        This subsystem contains
                                     libMrm_d.a, the debug version
                                     of libMrm.

       motif_dev.sw.Uil-debug        This subsystem contains
                                     libUil_d.a, the debug version
                                     of libUil.

       motif_dev.sw.Xm-debug         This subsystem contains
                                     libXm_d.a, the debug version
                                     of libXm.  If you link your
                                     software with the debug
                                     library while you are in the
                                     process of developing it, then
                                     stack traces will be more











                                  - 2 -



                                     meaningful to you.  This may
                                     be helpful in understanding
                                     bugs in your own code, even
                                     without access to the library
                                     source.

                                     If you have access to
                                     OSF/Motif library source, the
                                     debug library may be even more
                                     helpful to you (even though
                                     the line numbers will not
                                     match exactly).

       motif_dev.sw.dev              This subsystem contains normal
                                     libraries and header files.

       motif_dev.sw.demo             This subsystem contains
                                     demonstration programs as
                                     supplied by OSF.

       motif_dev.sw.demoSGI          This subsystem contains
                                     demonstration programs, as
                                     supplied by OSF, that have
                                     been modified to show how to
                                     use Xt and Motif with non-
                                     standard visuals.  It also
                                     includes demonstration
                                     programs for new widgets
                                     supplied by Silicon Graphics.


       2.2  IRIX IM Development Environment Subsystem Disk Space
            Requirements

       This section lists the subsystems (and their sizes) of the
       IRIX IM Development Environment.

       If you are installing this software for the first time, the
       subsystems marked ``default'' are the ones that are
       installed if you use the ``go'' menu item.  To install a
       different set of subsystems, use the ``install,''
       ``remove,'' ``keep,'' and ``step'' commands in inst to
       customize the list of subsystems to be installed, then
       select the ``go'' menu item.

       Note:  The listed subsystem sizes are approximate. Refer to
              the IRIS Software Installation Guide for information
              on finding exact sizes.

       Subsystem Name                     Subsystem Size
                                          (512-byte blocks)











                                  - 3 -



       motif_dev.man.dev (default)               4865

       motif_dev.man.devmansrc                   4082
       motif_dev.man.relnotes (default)            31

       motif_dev.sw.Mrm-debug                    8650
       motif_dev.sw.Uil-debug                    8505

       motif_dev.sw.Xm-debug                    48539
       motif_dev.sw.demo                         6089

       motif_dev.sw.dev (default)               13992
       motif_dev.sw.demoSGI                      1647



       2.3  Installation_Method

       This section lists the installation method for the motif_dev
       subsystems.  Refer to the IRIS Software Installation Guide
       for complete installation instructions.

       Subsystem Name                Method of Installation

       motif_dev.man.dev             IRIX or Miniroot
       motif_dev.man.devmansrc       IRIX or Miniroot

       motif_dev.man.relnotes        IRIX or Miniroot
       motif_dev.sw.Mrm-debug        IRIX or Miniroot

       motif_dev.sw.Uil-debug        IRIX or Miniroot
       motif_dev.sw.Xm-debug         IRIX or Miniroot

       motif_dev.sw.demo             IRIX or Miniroot
       motif_dev.sw.sgiDemo          IRIX or Miniroot

       motif_dev.sw.dev              IRIX or Miniroot



       2.4  Prerequisites

       To use the 1.2.4 release of the IRIX IM Development
       Environment, your workstation must:

          o Be running IRIX release IRIX 5.0 or later.

          o Have motif_eoe.sw.eoe (which contains the run-time
            shared libraries) installed.













                                  - 4 -



          o Have motif_eoe.sw.uil (which contains the uil compiler)
            installed for uil-based development.

       2.5  Compatibility

          o IRIX IM in IRIX 4.0.5 was SGI's port of OSF/Motif
            1.1.4.  IRIX IM in IRIX 5.3 is based on OSF/Motif
            1.2.4.  It also has up to date bug fixes and some SGI
            extensions.

          o A static shared library, binary identical to that
            provided with IRIX 4.0.5, is included with the
            motif_eoe software.  In this release, you cannot link
            for that version of the shared library (except by using
            the available IRIX 4 Compatibility Build ENvironment).
            Motif binary applications that were linked for that
            version run unchanged.  Such an application gets
            neither the bug fixes nor the new features that are
            provided with the new library.

          o Applications must be linked with the libraries from
            this release to get the new features and bug fixes.

          o Programs built with this software are intended to
            execute against an X11R5 server, such as one running
            IRIX 5.0.  Programs built with this software are
            believed to also execute properly against an X11R4
            server, such as those running IRIX 4.0.x releases, but
            that capability has not been well tested, and is
            therefore not guaranteed.

          o Due to changes in the .uid file format as of IRIX 5.0,
            you cannot use the uil that comes with this software to
            build .uid files to use on IRIX 4.0 or earlier
            releases.

          o Due to changes in executable file format as of IRIX
            5.0, you cannot use this software to build programs to
            execute on IRIX 4.0 or earlier releases.

          o For the most part, Motif programs and Imakefiles or
            Makefiles should work unchanged in this release.  That
            is, bringing a program up to this level should be a
            simple recompile.  Exceptions:

               - The compilers are stricter about type checking.
                 Some header files have had types changed.
                 Programs that used approved typedef'd symbols
                 should have no problem.  Programs that declared
                 variables with basic C data types instead of using
                 the X11 typedef's might need to be changed.











                                  - 5 -



               - The default option menu label is now optionLabel.
                 It was null in previous releases.  This means that
                 now the (probably unwanted) string optionLabel is
                 visible, and unless you explicitly set that
                 string, it takes up more space than before.


       2.6  Configuration_Files

       The imake configuration files that are installed in
       /usr/lib/X11/config are changed for this release.
















































 



                                  - 1 -



       3.  Changes_and_Additions

          o See the 1.2.4 IRIX IM Release Notes, Execution-Only
            Environment for functional changes.

          o Security note: as in previous IRIX IM releases, the
            Motif demo programs are shipped writable by everyone.
            If this is a security problem for you, set the access
            to whatever you like after you install the programs.

          o This release is derived from OSF/Motif 1.2.4, and has
            those features.

          o This release is based on X11R5, and has those features.

          o Geometry management has been improved.

          o There are new functions for focus management, list
            management, scrolled window control, and baseline
            alignment.

          o Some of the widgets have new functionality, such as
            titled frame widget or the Template Dialog Box
            capability of the XmMessgeBox.

          o Some of the demonstration programs from the last
            release, such as WidgetView, are no longer provided.
            There are some new demo programs.

            Note:  The old directories are not removed if you made
                   any files in them (such as Makefile).

          o mmkmf has proven to be a useful script.  As a result,
            it has now been put in /usr/bin/X11/mmkmf.

            In the last release, mmkmf was a trial script, provided
            as /usr/src/X11/motif/mmkmf.  For this release, that is
            now a symbolic link to the real mmkmf.  That link will
            be removed in the next release.

          o /usr/include/{Xm,Mrm,uil} are now real directories, and
            /usr/include/X11/{Xm,Mrm,uil} are symbolic links to
            them.  In the last release, the situation was reversed.
            This change should have no practical effect.  The
            symbolic links are provided in this release only to
            preserve compatibility.  They will be removed in a
            future release.

            The new directory structure matches the standard
            specified way of including Motif header files:












                                  - 2 -



            #include 

            It would be prudent to change any code that uses the
            (now obsolete)

            #include 

            because the symbolic links will be removed in a future
            release.

          o After installing this release, you need to do a new
            makedepend.  Otherwise, your dependencies might refer
            to headers that are no longer there (but used to be
            included by other X or Motif header files).

          o Some standard system header files are no longer
            included by X/Motif, so you might have to add some
            #include files to your own application (if you needed
            the header, too).

          o You no longer need -lsun on your ld line.

          o In the previous release, there were links from X11 to
            the Xm header files AtomMgr.h, Protocols.h,
            ProtocolsP.h, and MwmUtil.h.  This was for backwards
            compatibility with the OSF/Motif 1.0 release, (although
            Silicon Graphics did not release a product based on
            that version).  These links are no longer created.  The
            files should be included as  instead of
            .

          o The following header files were in Release 1.1 of
            Motif, but are now obsolete in Release 1.2:
            ExtObject.h, Traversal.h, VaSimple.h, VendorE.h,
            VendorEP.h.

          o A new public header file, XmAll.h, has been added to
            Motif.  This file consists of all the documented header
            files.

          o This release builds cleanly (without errors or
            warnings) with ANSI C, if you use the flag -woff 182.
            That flag suppresses warnings caused by Xt header
            files.  The warnings are valid, but indicate no
            malfunction on a Silicon Graphics system.

          o All references to caddr_t have been changed to
            XtPointer.  This affects all callback routines and
            other routines that make reference to caddr_t.













                                  - 3 -



          o Many of the changes to Motif for Revision 1.2 were made
            to enable the development of internationalized
            applications and are based on X11 Release 5
            specifications.  In particular OSF/Motif
            internationalization capabilities rely on the fact that
            the X and C libraries support the ``locale'' concept
            from ANSI-C or POSIX standards.  To run Motif 1.2, you
            must have X11R5 installed including all the
            internationalization features.

          o An XmDisplay object has been added to support per-
            display data and resources.  An XmScreen object has
            been added to support per-screen data and resources.

          o Tear-off behavior is enabled by setting the
            XmNtearOffModel resource to XmTEAR_OFF_ENABLED (the
            default is XmTEAR_OFF_DISABLED).

            There is no resource converter preregistered for
            XmNtearOffModel.  To allow tear-off functionality to be
            enabled through the resource database, an application
            must register its own resource converter for the
            XmNtearOffModel resource using the
            XmRepTypeInstallTearOffModelConverter function.

            The converter is not automatically installed because
            many applications use map or cascading callbacks to
            dynamically set the sensitivity of items within their
            menus.  However, if a TearOff Menu is mapped, the
            sensitivity of its menu items must be changed
            immediately to reflect changes in other application
            states.  Existing applications are unlikely to change
            menu item sensitivity in this manner, so allowing their
            menus to be torn off could allow operations to be
            enabled at unexpected times.  If you activate one of
            these menu items, it might crash the application or
            cause corruption of persistent data.

            A torn-off menu is created in the same visual as the
            menu it was torn from.  If the original menu was in the
            pop-up planes, the torn-off menu is there too.  This
            means that something that is not really transient is
            now in the pop-up planes.  It will be subject to all of
            the usual problems that non-transient windows in the
            pop-up planes face: limited colormap, colormap
            flashing, and damage from things that write to the
            pop-ups without benefit of a window.

            Note that the only bad effects are cosmetic.  The
            available alternatives include:












                                  - 4 -



               - Understand that this is the situation.  In
                 practice, it might not cause a real problem for
                 you.

               - Don't enable tear-off menus if your menus are in
                 the pop-up planes.

               - If your system has overlay planes, put your menus
                 there instead.

               - If your system does not have overlay planes, put
                 your menus in the normal planes and accept any
                 redrawing caused by bringing up a menu.














































 



                                  - 1 -



       4.  Bug_Fixes

       Hundreds of bugs have been fixed in the product since the
       last release, including some infamous core dumps and memory
       leaks.  According to OSF, they have fixed the following
       numbers of bugs:

          o Motif 1.2: over 600 bugs

          o Motif 1.21: over 200 bugs

          o Motif 1.2.2 (IRIX 5.1) over 250 bugs

          o Motif 1.2.3 (IRIX 5.2) 291 closed, 132 cancelled

          o Motif 1.2.4 (IRIX 5.3 and IRIX 6.0) 240 closed, 91
            cancelled Note: this applies to everything excedpt 32-
            bit libXm, which remains at the 1.2.3 level.









































 



                                  - 1 -



       5.  Known_Problems_and_Workarounds

          o Be sure that you link libXm before libXt.  Failure to
            do so is a programmer error that will result in a
            mysterious core dump.  The reason for this is because
            libXm and libXt both have a VendorShell widget.  It is
            important that the one from libXm is the first one the
            loader encounters.

          o Certain performance problems are more important in this
            release.  Avoid unnecessary widget management-managing
            widgets has gotten far more expensive in this release.

               - unmap and map where possible, rather than using
                 manage and unmanage.

               - If you have a large array of widgets, manage them
                 all at one time, rather than managing each one as
                 you create it.

          o It is far more efficient (both in terms of memory use
            and speed) to use setvalues to set up a large scrolled
            list than to use XmListAddItems with the same array of
            list items.

          o Of the two drag-and-drop protocols in use
            (preregistered and dynamic), Silicon Graphics strongly
            suggests that you stick to the dynamic protocol:

               - Only the dynamic protocol is being standardized at
                 the X Consortium ICCCM level.

               - The preregistered protocol has known logical
                 problems, connected with the source needing to
                 draw into the destination's window.  If that
                 window is a different visual, it isn't always
                 handled correctly.

               - Because of the need to keep a drop site database
                 up to date, some performance problems are caused
                 by using the preregistered protocol.

          o There are some known demo program shortcomings:

            helloint            Trying to use Japanese & Hebrew
                                fonts gives warnings

            motifburger         Order dialog geometry management
                                not set right.













                                  - 2 -



            view                Core dumps trying "C" locale.

            xmtravel            Bottom of some text fields is
                                clipped.























































 



                                  - 1 -



       6.  Documentation_Errors

          o None are known.