Previous | Contents | Index |
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
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.
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. |
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:
CDEC$ OPTIONS /ALIGN=RECORDS=NATURAL |
CDEC$ END OPTIONS |
CDEC$ OPTIONS /ALIGN=RECORDS=NATURAL INCLUDE "DECW$MOTIF.FOR" CDEC$ END OPTIONS |
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 |
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
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
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
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:
/define=(X_LOCALE,X_WCHAR,_WCHAR_T_,XLIB_XPG4_FUNCS) |
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
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
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.
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 |
This section contains release notes pertaining to the X Window System
Toolkit (Xt).
4.4.1 Composite Class Extension Record Run-Time Warning
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
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 |
This section contains information about the XNL library.
4.6.1 xnl_parsedatetime
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.
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
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
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 |