hp DECwindows Motif
for hp OpenVMS Alpha
Release Notes


Previous Contents Index

4.1.5.2 Impact on Java Applications

The Java Development Kit (JDK) for OpenVMS Version 1.2.2-1 contains two shareable images (JAVA$FONT_MANAGER_SHR.EXE and JAVA$FONT_MANAGER_G_SHR.EXE) that link against the Display PostScript (XPDS) libraries. As a result, all Java applications built with this kit that use Display PostScript capabilities will fail in the DECwindows Motif for OpenVMS Version 1.2--6 environment.

Note that this restriction only applies to the Version 1.2.2-1 kit. The Java machine for the 1.1* series, as well as all releases of the JDK subsequent to Version 1.2.2-1, are not dependent on the Adobe Display PostScript software or its libraries.

4.1.6 Problems Using the DECW$INCLUDE:INTRINSIC.H File

V1.2--5

The DECwindows header file, DECW$INCLUDE:INTRINSIC.H, redefines the globalref macro to be extern when using the DEC C compiler, even when the /STANDARD=VAXC compiler switch is specified. This could have a wide impact on user applications.

This redefinition in INTRINSIC.H is required because DECwindows needs to ensure that references to data located in the DECwindows shared images by user-written applications use the same extern model that was used when the DECwindows shared images were compiled.

To workaround this problem, rather than having your application use globalref and globaldef for its own variables, use the following preprocessor directive:


#pragma extern_model strict_refdef 

This workaround has the advantage of being strictly ANSI compliant. This pragma directive is described in the DEC C User's Guide for OpenVMS Systems manual.

4.1.7 DECW$WML.EXE Looks in Current Directory For DECW$WML_TOKENS.DAT

1.2--4

The program SYS$SYSTEM:DECW$WML.EXE can be used to customize the parsing of UIL files. It reads a list of tokens from the file DECW$WML_TOKENS.DAT. In previous versions of DECwindows Motif, this tokens file was always read from SYS$LIBRARY. However, starting with DECwindows Motif for OpenVMS Version 1.2--4, DECW$WML.EXE first looks for this file in the current directory before looking for it in SYS$LIBRARY. This allows a customized tokens file to be used.

4.1.8 Use of _Xm Routines

V1.2

The OSF/Motif Toolkit libraries contain many undocumented routines, which are prefixed with _Xm. These routines are intended to be used only by the standard Motif widgets. OSF reserves the right to modify the API or functionality of these routines, or to delete them altogether in future releases.

Caution

HP supplies access to the _Xm routines by copying them into the shareable image transfer vector for the OSF/Motif Release 1.2.2 Toolkit. HP does not document or support these routines or guarantee their continued existence in future releases. Application developers who use these routines do so at their own risk.

4.1.9 Compiling Applications Written in Fortran

V1.1

On OpenVMS Alpha systems, some of the include files used for writing DECwindows Motif applications in Fortran, such as the DECW$MOTIF.FOR file, contain structure definitions that cause memory layout changes, depending on the compiler switches used.

You can do one of the following:

4.1.10 Compiling Applications Written in C

V1.0

During the VAX C layered-product installation procedure, you have the option of extracting the VAX C definition files (.h files) or leaving the .h files in the text library. If you extract the definition files, you can use #include control lines of the following form:


#include <filename.h> 

The DECwindows header files assume that the .h files were extracted. They contain #include <module_name.h> notation for the included files. The DECwindows Motif programming documentation also makes this assumption.

VAX C should, therefore, be installed using the option to extract the library modules.

If you have already installed VAX C and you did not extract the .h files, the DECwindows sample C programs do not work. To correct this problem, reinstall VAX C and extract the .h files.

With DEC C, the header files do not need to be extracted from the text library if you define the DECC$TEXT_LIBRARY logical name as follows:


$ DEFINE DECC$TEXT_LIBRARY SYS$LIBRARY:DECC$RTLDEF.TLB 

4.2 Transport Programming

This section contains information about the Transport interface.

4.2.1 Local Area Transport (LAT) and User-Written Transports Not Supported in the Version 1.3 Environment

V1.3

With HP DECwindows Motif for HP OpenVMS Alpha Version 1.3, significant changes were made to the DECwindows Motif transport library to accommodate multithreading and the communication needs of the Inter-Client Exchange (ICE) protocol, Low-Bandwidth X (LBX) proxy server, and Input Method servers. In particular, support for an alternate method of assigning numbers to server connections was added, as described in hp DECwindows Motif for hp OpenVMS Alpha New Features. Support for the logical connection number (LCN) interface is the only transport-related feature that will be published for external use.

The DECnet, TCP/IP, and local network transport interfaces have been updated, remain available, function as expected in the Version 1.3 environment, and are compatible with the previous version of the client libraries. However, the DECwindows Motif interface to the Local Area Transport (LAT), as well as any custom, user-written transports built against previous versions of DECwindows Motif, will not function as expected and are expressly not supported in the DECwindows Motif Version 1.3 environment. This includes transports built and linked against the following files:

The VMS DECwindows Transport Manual will be archived and the new libraries will not be documented or made available publicly.

If you currently use any X terminal applications that rely on the DECwindows Motif interface to the LAT transport, HP strongly recommends that you remain with DECwindows Motif Version 1.2--6 or earlier.

If you have implemented a custom transport and want to migrate that transport to the HP DECwindows Motif for HP OpenVMS Alpha Version 1.3 environment, contact your HP customer representative to develop a migration strategy.

4.3 X Window System Library (Xlib)

This section contains information about the X Window System library (Xlib).

4.3.1 Retired and Changed Entry Points

V1.3

The following unsupported Xlib entry points have been removed from the DECW$XLIBSHR image:

Any application using these functions will need to be modified.

4.3.2 Meaning of XConnectionNumber and ConnectionNumber Changed

V1.3

The meaning of the XConnectionNumber function and ConnectionNumber macro has changed on HP DECwindows Motif for HP OpenVMS Alpha Version 1.3 systems.

For previous versions of DECwindows Motif, both the function and macro returned an event flag number (EFN). The event flag was set when input arrived, with calls typically implemented as follows:


  sys$clref (ConnectionNumber (dpy)); 
  while (XPending (dpy) != 0) XNextEvent (dpy); 
  sys$waitfr (ConnectionNumber (dpy)); 

For HP DECwindows Motif for HP OpenVMS Alpha Version 1.3, a change has been made so that these items behave differently when support for multithreading has been enabled by a call to XInitThreads. With multithreading enabled, these items now return a logical connection number (LCN).

The LCN is in the read set state whenever there is input available from the server. It is in the write set state unless all output buffers are in use. The except state is reserved for use by HP.

To use an LCN instead of an EFN, replace the above implementation with the following:


int readState; 
  while (XPending (dpy) != 0) XNextEvent (dpy); 
  decw$lcn_select_one (ConnectionNumber (dpy), &readState); 

Note that you must make the select call after the event queue has been cleared, since the LCN state reflects input from the server and does not include any events that might have been queued while handling replies.

You can force the ConnectionNumber macro to get the LCN value (which is always available) by including XLIB.H with the DECW_CONNECTIONNUMBER_IS_LCN macro set to true (1), for example:


#define DECW_CONNECTIONNUMBER_IS_LCN 1 
#include <X11/Xlib.h> 
. 
. 
. 

This is useful when using this macro in a shared image or object library where the application must function the same whether or not threads have been initialized.

For more information on the LCN interface, see the hp DECwindows Motif for hp OpenVMS Alpha New Features.

4.3.3 Locale Support in OpenVMS Systems

V1.2--4

The locale support provided in DECwindows Motif for OpenVMS Version 1.2--4 is compatible with the locale support in the DEC C Run-Time Library. If you write internationalized applications using these functions in the locale environment, do the following:

4.3.4 XSelectAsyncEvent and XSelectAsyncInput Routines

V1.1

The XSelectAsyncEvent and XSelectAsyncInput routines allocate memory for the storage of AST delivery information. This memory is freed in the following ways:

The AST delivery information for subwindows is not freed by XDestroyWindow.

If you want to turn off AST notification for all event types within a given window and also free the AST delivery information, the client application can call XSelectAsyncEvent or XSelectAsyncInput passing the event_mask argument equal to minus one (all bits set) and the ast_routine argument equal to zero.

4.3.5 Command Procedure Builds .PEN Files

V1.0

To allow Pascal programs to inherit environment files for Xlib and Motif, execute the command procedure SYS$LIBRARY:DECW$PEN_BUILD.COM. This command procedure generates the DECW$XLIBDEF.PEN and DECW$MOTIF.PEN files. The .PEN files compile into Pascal programs faster than the provided .PAS files.

4.3.6 Parameter/Protocol Datasize Mismatches

V1.0

Several Xlib routines accept longword parameters that are not sent in their entirety in the X Protocol message to the server. In each case, the Xlib routine sends out only the least significant 16 bits of the parameter value. This is a constraint of the field size within the X Protocol message.

Table 4-1 lists routine names and the longword arguments that are sent only as 16-bit values.

Table 4-1 Routine Names and Arguments Sent as 16-Bit Values
Routine Name Routine Arguments
XAllocColorCells/ALLOC_COLOR_CELLS nplanes,npixels
XDrawArc/DRAW_ARC x,y,width,height, angle1,angle2
XDrawLine/DRAW_LINE x1,x2,x3,x4
XDrawPoint/DRAW_POINT x,y
XDrawRectangle/DRAW_RECTANGLE x,y,width,height
XDrawString/DRAW_STRING x,y
XDrawString16/DRAW_STRING16 x,y
XDrawText/DRAW_TEXT x,y
XDrawText16/DRAW_TEXT16 x,y
XFillArc/FILL_ARC x,y,width, height,angle1,angle2
XFillRectangle/FILL_RECTANGLE x,y,width,height

4.4 X Window System Toolkit (Xt)

This section contains release notes pertaining to the X Window System Toolkit (Xt).

4.4.1 Composite Class Extension Record Run-Time Warning

V1.3

With X11R6.6, a new boolean option (allows_change_managed_set) was added to CompositeClassExtensionRec. As a result of this change to the data structure, applications built with a previous version of CompositeClassExtensionRec may display a warning message at run time similar to the following:


X Toolkit Warning:  widget class Calc has invalid CompositeClassExtension 
record. 

To prevent this message from displaying, rebuild the application with the updated version of the CompositeP.h file included with HP DECwindows Motif for HP OpenVMS Alpha Version 1.3. Check that the value of the new option is as you desire. If the memory is initialized to zero, then it will have the same behavior as before. If uninitialized the behavior could be unpredictable.

4.4.2 XtOpenDisplay Routine and Case Sensitivity

V1.2--6

In some cases the application name in XtOpenDisplay comes from argv[0], which represents the name of the application on the command line.

This could be an issue in environments where case sensitivity must be preserved (such as when referencing ODS-5 system with case preservation enabled or when passing a user-defined argv list).

4.5 X Window System Extensions and Protocols

This section contains release notes pertaining to the X Window System extensions to the display server.

4.5.1 EVI Extension and Colormap Conflicts

V1.3

The DECwindows Motif display server does not return colormap conflict information when the Extended Visual Information (EVI) extension is used to request information about available visuals. The data returned always indicates that no colormap conflicts exist, even if there are some.

4.5.2 Dead Mouse Support

V1.3

With HP DECwindows Motif for HP OpenVMS Alpha Version 1.3, the Dead Mouse capabilities previously available with the AccessX extension have been incorporated into the subset of features available with the X Keyboard extension (XKB). These capabilities are now collectively referred to as Mouse Keys.

Note that since the Dead Mouse functions were also made part of the core the X server in a previous version of DECwindows Motif, they remain available even when the XKB extension is not enabled.

4.5.3 AccessX Extension No Longer Supported

V1.3

Support for the AccessX keyboard extension has been removed. All functions provided by this extension (such as sticky keys) are available with the X Keyboard extension (XKB). See the hp DECwindows Motif for hp OpenVMS Alpha New Features for more information on this extension.

4.5.4 Group Validation Not Performed by Security and Application Group Extensions

V1.3

The validation of groups is not being performed by the Security (SECURITY) and Application Group (XC-APPGROUP) extensions. Although a group ID can be passed to XSecurityGenerateAuthorization, it is not being checked. Authorization is provided regardless of the group ID.

4.5.5 Removing Watch Procedures from Open ICE Connections

V1.3

Avoid removing ICE watch procedures while an ICE connection remains open. If a watch procedure allocates memory to an open connection, and the procedure is removed, the memory cannot be freed since the proper callback is not made to the watch procedure.

4.5.6 BAD_LOCAL_NODE Error When Using ICE

V1.3

The original transport implemented by DECwindows Motif ignored the node specification when using LOCAL as the network transport. With the ICE protocol, the node name must always either be a value of 0 or a string consisting of the system name. Since ICE uses the LOCAL transport, the BAD_LOCAL_NODE warning message is displayed when ICE attempts to verify the node specification.

4.5.7 SmsGenerateClientId Does Not Generate an ID

V1.3

The XSMP request SmsGenerateClientId fails to generate a client ID on any system that has neither an assigned DECnet nor TCP/IP address.

4.5.8 Specifying Extension Include Files

V1.2

To ensure that programs that contain extension include files compile properly, add the logical name DECW$INCLUDE to the C include directory search list. To add the logical name, enter the following command:


$ DEFINE DECC$USER_INCLUDE DECW$INCLUDE

4.6 X Window System Internationalization Library (XNL)

This section contains information about the XNL library.

4.6.1 xnl_parsedatetime

V1.2--5

xnl_parsedatetime (and its VAX binding, XNL$PARSE_DATE_TIME) accepts two-digit or four-digit years in the input argument XmString s (which is the date-time string to be parsed). Valid years in the two-digit format are in the range 70 to 99, which mean the years from 1970 to 1999. Values from 00 to 69 are invalid. Year 2000 and later must be specified in the four-digit format.

4.6.2 xnl_langinfo

V1.2--5

xnl_langinfo (and its VAX binding, XNL$LANGINFO) returns a string for date-time formatting when D_FMT or D_T_FMT is specified in the item argument. In the locales listed below, this function returns a formatting string containing %y. This formatting string should be used carefully after the year 2000, as %y indicates the two-digit year format.

4.7 DECwindows Extensions to Motif (DXm)

This section contains information about the DECwindows extensions to the Motif Toolkit.

4.7.1 Corrected List of DXmNlayoutDirection Resource Constants

V1.2--3

In the DECwindows Extensions to Motif, the section on DXmNlayoutDirection Resource in Chapter 2 lists the following constants:

Note that the following constants are not currently available for the DXmNlayoutDirection resource:

Also note that the introduction to Table 2--1 is incorrect. Table 2--1 describes the effect of the constants DXmLAYOUT_LEFT_DOWN and DXmLAYOUT_RIGHT_DOWN on the functions.

V1.2

In Section 2.2 of the DECwindows Extensions to Motif manual, the description of DXmChildren indicates that the routine can be used to learn the length of widget_list.

The documentation is incorrect. The sentence should read, "You can use the DXmNumChildren routine to learn the length of the widget list returned by DXmChildren."

4.7.2 DXmFormSpaceButtonsEqually Restriction

V1.1

The convenience routine DXmFormSpaceButtonsEqually sizes and spaces all widgets or gadgets equally if they have a subclass of XmLabel or XmLabelGadget. The results are undefined if a widget or gadget is not a subclass of XmLabel or XmLabelGadget.

4.7.3 SVN Widget Does Not Support Horizontal Live Scrolling

V1.0

Horizontal live scrolling is not supported in the SVN widget.

4.8 Application Programming

This section contains release notes pertaining to developing applications for the DECwindows Motif environment.


Previous Next Contents Index