********************************************

Solaris Common Desktop Environment Bugs

Copyright (c) 1995 by Sun Microsystems, Inc.

********************************************

The document contains known problems and workarounds for the Solaris
CDE 1.0.1 software.

________________________________

Contents of the README Directory
________________________________

Aside from this document, four other documents (PatchList, News,
Install_Notes, and InstallGuide.ps) are also located in the directory
/cdrom/<volume_id>/README.

o PatchList contains a list of all patches available on the Solaris 
  CDE 1.0.1 CD-ROM disk and those related to Solaris CDE 1.0.1 that are 
  available elsewhere.

o News contains an overview of CDE features and other important
  late-breaking information.

o Install_Notes contains late-breaking information that is
  important to installation.

o InstallGuide.ps is a PostScript file of the manual _Solaris Common 
  Desktop Environment Installation and System Administration Guide_.

The AnswerBook online documentation is in the directory
/cdrom/<volume_id>/cde-min (the SUNWdta pkg).

__________________________

Sun Information on the Web
__________________________

For information on Sun products, see Products & Solutions in:
http://www.sun.com.

______________

Keyword Search
______________

Use your favorite text editor to search for keywords in this document.

The Keyword Search Index is a quick reference to check on spelling and 
capitalization of keywords or specific subjects.  Use this list to 
facilitate your subject search:

add module		graphic files		paste
App Builder		Group object		pop-up menu
Application Builder	help			PowerPC
applications		help dialog box		preview
appointment		Help key		print
attachments		Help Viewer		processes
bitmap			hyperbolic		Programmer's Guide
Browser			internationalization	project organizer
BTransfer		illegal mnemonic	save project
build mode status	initial state		scroll
Calculator		input			sdtimage
Calendar		input focus		searchings
callback		invoking actions	select
callback name change	ja locale		selection
class			Japanese		send mail to file
clear			kernel			sent mail
Color Chooser		KeySym			sent.mail
code generator		label			Solaris 2.3
compiler warning	label translation	Solaris 2.4
Compose			list item syntax	Solaris 2.5
connection		List object		starts
Connections Editor	log			startup
control			log message		subwindow
Control+S		mailbox			syntax error
copy			mailbox name		systems
core dumps		Mailer			Terminal
dbserver		.mailrc			terminal type
Default Custom Header	make			terminfo
delete			makefile		text
descriptor		map			Text Editor
development		margin			text pane
disk space		maximum			thread
display			menu			Tooltalk
documentation		menu item mnemonic	trash
drag and drop		message			ttdbserverd
drop			message catalog		ttsnoop
dtcm			Meta+h			tty settings
dtfile			MIME			two-button mouse
dtmail			minimized icon		UIL export
Dtterm			module name		UIL import
dtterm			module path		UIL reserved words
editor			monochrome		value
error message help	Motif			view
exclusive access	mouse button 2		viewable
extend selection	mutex			write
/filename		multiple locales	X resources
finder			object name		XmList
font size		Page Down		XmNentryClass		
Front Panel		Page Up			XmScale widget
generated code		panics			XView
						

_______________ 
 
Solaris 2.4 Bug 
_______________
 
Solaris 2.4 Kernel Panic (Bug ID# 1176508)
******************************************
Keywords: Solaris 2.4, kernel, thread, mutex, panics

Solaris 2.4 kernel panic is indicated by the error message:

	panic: mutex_adaptive_exit: mutex not owned by thread.

This is not a CDE bug, but it can affect CDE if it is mounted over
NFS.  Under some conditions, for example, if the remote file server
containing the CDE binaries is down, or if the client-server
combination is under a heavy load on Solaris 2.4, this kernel panic
may occur.

Workarounds: Use one of the following workarounds:

o Install CDE on the local workstation instead of mounting it from the net.

o Install the Solaris 2.4 kernel jumbo patch: 101945-xx (revision 15
  or later).

o Upgrade the client workstation to Solaris 2.5.


_________ 
 
XView Bug 
_________
 
Copy-and-Paste Does Not Work in Multibyte Locales from a Motif Application  
************************************************************************** 
to an XView Text Subwindow (Bug ID# 1165742) (Solaris 2.4 Only)   
*************************************************************** 
Keywords: copy, paste, multibyte locales, XView, Motif, subwindow 
  
If you are running in a multibyte locale -- ja, ko, zh, or zh_TW -- in 
Solaris 2.4, you cannot copy text from a Motif application window and 
paste it into an XView text subwindow, such as the main window of the 
XView Text Editor or the text pane in the Mail Tool Compose window. 
 
This bug has been fixed for Solaris 2.5. 
 
Workaround: Paste the text into an XView panel text field instead, such 
as the header fields in the Mail Tool Compose window, then copy the 
text from the panel text field and paste it into the XView text 
subwindow. 

_____________

ToolTalk Bugs
_____________

You Can Run A Maximum of Only 30 ToolTalk Processes by Default (Bug ID# 1184100)
********************************************************************************
Keywords: ToolTalk, processes

By default, you can run a maximum of only 30 ToolTalk processes 
on your desktop at any one time.  Therefore, once there are 30 active 
ToolTalk processes, you cannot start any new ones, such as printing.

Workaround: Increase the maximum number of ToolTalk processes by
using the -N option in the ttsession command.  Follow these steps:

1.  Edit your .dtprofile file and set the variable as follows:

    dtstart_ttsession='/usr/dt/bin/ttsession -sN'
    
2.  Log out and log back in.

With this setup, you can run about 500 ToolTalk processes
simultaneously on the desktop.

For more information about setting the dtstart_ttsession variable,
see "Starting the ToolTalk Messaging Daemon" on page 29 of _Common
Desktop Environment Advanced User's and System Administrator's
Guide_.


ttsnoop Starting on CDE Has a Disfigured GUI (Bug ID# 1212957)
**************************************************************
Keywords: Solaris 2.4, Solaris 2.5, ToolTalk, ttsnoop, internationalization,
          locales, ja

In certain non-English locales, ja in particular, clicking on the
Messages button in ttsnoop (the ToolTalk Monitor window) opens the
Send Message window with a GUI layout problem.

Workaround: For all locales, start ttsnoop with the following
command:

On Solaris 2.4:
--------------
% env LANG=C /usr/dt/bin/ttsnoop -xrm "*fontList:lucidasans12:"

On Solaris 2.5:
--------------
% env LANG=C /usr/openwin/bin/ttsnoop -xrm "*fontList:lucidasans12:"

These commands start ttsnoop in the C locale, and use a font that 
fits properly.

________________

CDE Desktop Bugs
________________

============

Generic Bugs

============

CDE Applications Development
****************************
Keywords: applications, development

Solaris CDE shared libraries are built with the latest Solaris loader
technology to optimize their interfaces and performance.  This
technology conflicts with debuggers that were released prior to
SPARCworks version 3.0.1.  Therefore, we recommend that you use
SPARCworks version 3.0.1 or later when developing and debugging
applications in CDE.

Installing Solaris CDE on Solaris 2.4 overwrites any earlier version 
of the Motif library present in /usr/dt.  The new Motif library is 
among the libraries built using the new Solaris loader technology.  
For this reason, an application linked with this new version of Motif 
should be debugged with the SPARCworks 3.0.1 (or later) debugger, even
if the application does not use any CDE-specific features or link
with any other CDE libraries.  A patched version of the 2.0.1
debugger is provided if you are still using SPARCworks 2.0.1.  See
the PatchList document for information on how to install the debugger 
(dbx) patch.


================

Image Viewer Bug

================

Print Preview Dialog Box Causes sdtimage to Terminate on Systems
****************************************************************
with 24-bit Framebuffers (Bug ID # 1192843) (Solaris 2.4 Only)
**************************************************************
Keywords: print, preview, sdtimage, Solaris 2.4

If sdtimage is run on systems with 24-bit frame buffers, such as the
Leo or the SX frame buffers, opening the Print Preview dialog box
causes sdtimage to terminate with a SEGV signal and dump core.

To use the Print Preview dialog box to reposition the image on paper
prior to printing, open the Print dialog box and manually specify the
left and top margins.

sdtimage terminates due to a bug in the XIL library, the fix for
which has been incorporated into the Solaris 2.5 release.

To fix this problem for Solaris 2.4, install one of the following
patches, as applicable:

	        SPARC platform	   102657-01
                x86 platform       102658-01



===============

Text Editor Bug

===============

The Right Margin Maximum Value for Text Editor Is 1,024
*******************************************************
Keywords: Text Editor, margin

In Text Editor, you cannot set a right margin that exceeds 1,024 columns.



===============

Calculator Bugs

===============

x86 and SPARC: Meta+h Unexpectedly Invokes Hyperbolic Calculation 
*****************************************************************
(Bug ID# 1190315)
*****************
Keywords: Calculator, hyperbolic, Meta+h

In Calculator, pressing Meta+h for the Help menu pushes in the 
Hyp button in error, and displays "HYP" below the display window.  
This error occurs because the keypress-handling software in dtcalc 
interprets the pressed keys as as an "Alt" followed by a "H," not 
"Alt H."

This is the only known instance where a double meaning is ascribed to
a key, but it is not the only such combination potentially allowed by
the software.  The potential clashes are where a given key maps both
to a dtcalc keypad entry and to a dtcalc Meta key (Help or Options).

Workaround: There is no known workaround; however, pressing the CLR
key clears the HYP key.


x86: Calculator Core Dumps When Given Erroneous Input (Bug ID# 1211853)
***********************************************************************
Keywords: Calculator, core dumps, input, map

While using Calculator on the x86 platform, if you type a key that
does not map to a specific function, Calculator core dumps.

Workaround: Use the mouse instead of the keyboard to input non-numeric
data.



=============

Terminal Bugs

=============

dtterm Does Not Display Japanese Characters Properly After A Font Size Change
*****************************************************************************
(Bug ID# 1198483)
*****************
Keywords: dtterm, display, Japanese, font size

After you have used CDE Style Manager to change the font size, dtterm
does not display Japanese characters in the new font size.


dtterm Starts Up with Incorrect tty Settings (Bug ID# 1193996)
**************************************************************
Keywords: dtterm, starts, tty settings

dtterm starts with erroneous tty settings.  For example, most of the
special characters, such as Control+W that is used to erase the word
before the cursor, are undefined.

Workaround: Manually set tty modes, such as by using the command:
stty werase ^W.  You can also define tty settings permanently by
editing the $HOME/.dtprofile file.


Non-CG6, x86, and PowerPC: Selecting Text in a Terminal Window Can 
******************************************************************
Result In Visual Defects (Bug ID# 1205397)
******************************************
Keywords: Terminal, scroll, select, text

Occasionally, if you highlight some text in a Terminal screen, then
select some other text off of the current screen, a blank column is
displayed, which obscures part of the display.

This problem exists on non-CG6 frame buffers, as well as x86 and
PowerPC platforms.

Workaround: Scroll up the Terminal window and then back to the
current screen, and the text is redisplayed.  To refresh the display,
type at the system prompt: xrefresh.


dtterm Does Not Recognize X Resources (Bug ID# 1201125)
*******************************************************
Keywords: dtterm, X resources, Dtterm, class

dtterm ignores certain X resources in system defaults.

Workaround: Use Dtterm (with an uppercase "D") instead of dtterm as
the class name when you define X resources.


The Help Key Does Not Work in dtterm (Bugs ID# 1206948 and 1206949)
*******************************************************************
Keywords: dtterm, Help key

In dtterm, pressing the Help key does not start the online help
volume.

Workaround: Start online help from Help Manager in the Front Panel.


Page Up and Page Down Keys Do Not Work in dtterm (Bug ID# 1203577)
******************************************************************
Keywords: dtterm, Page Up, Page Down

You cannot use the Page Up and Page Down keys to scroll text in dtterm.

Workaround: Hold down the Shift key when you press Page Up or Page Down.


dtterm Does Not Clear the /var/adm/lastlog File Properly (Bug ID# 1213129)
**************************************************************************
Keywords: dtterm, clear, log

Every time you start dtterm, it makes an entry in the /var/adm/lastlog
file.  However, after you quit that dtterm process, dtterm does not clear
the entry.


(Type-4 Keyboards Only) dtterm Issues Warnings (Bug ID# 1192125)
****************************************************************
Keywords: dtterm, illegal mnemonic, KeySym

Starting dtterm on a machine that has a Type-4 keyboard causes the
application to issue the following warning:

  Warning: 
    Name: Copy
    Class: XmPushButtonGadget
    2054-xxx Illegal mnemonic character.
    Could not convert X KEYSYM to a keycode.

This warning is issued because the mnemonics for the Copy and Paste
buttons in the Edit menu (Ctrl+Insert and Shift+Insert) are not
usable on Type-4 keyboards.

Workaround: Use the keyboard accelerators for the Copy and Paste buttons
(Alt+C and Alt+P).


dtterm Definition Are Not Added to terminfo Files (Bug ID# 1192802)
*******************************************************************
Keywords: dtterm, terminfo, terminal type

If you install Solaris CDE on a server rather than locally, the
definition for dtterm is not added to the terminfo files.
Subsequently, some terminfo applications, such as vi, do not
understand the dtterm terminal type.

To update your terminfo files, become root, then type:

# /usr/bin/tic /usr/dt/config/dtterm.ti
# exit

This command installs the terminfo definition for dtterm in the
default system location (/usr/share/lib/terminfo/d/).  To install the
definition in a special location, refer to the tic(1) man page.



=============

Calendar Bugs

=============

Search All in Calendar Finder May Be Slow (Bug ID# 1201208)
***********************************************************
Keywords: Calendar, searchings, finder, dtcm

If you perform a "Search all" in Calendar's Find dialog box, it may
take up to five minutes before the operation completes.  The time it
takes is proportional to the size of your Calendar and the number of
repeating events that are stored there.

Workaround: Click on the "Search from" check box in the Find dialog box,
and specify as short a time range as is practical for the search.


Appointments Dropped in Text Areas May Contain Extraneous Data (Bug ID# 1203772)
********************************************************************************
Keywords: dtcm, Calendar, appointment, drop

If an appointment object created by Calendar or dtcm_editor is dragged
to a text area, such as Mailer's Compose window, it may contain
extraneous data (all the lines between "** Calendar Appointment **" 
and "Date: 5/12/1995"):

	** Calendar Appointment **
-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Entry Delimiter//EN:string:begin
-//XAPIA/CSA/ENTRYATTR//NONSGML Classification//EN:uinteger:0
-//XAPIA/CSA/ENTRYATTR//NONSGML End Date//EN:datetime:19950512T160000Z
-//XAPIA/CSA/ENTRYATTR//NONSGML Mail Reminder//EN:reminder:7200:foo@barXAPIA
-//XAPIA/CSA/ENTRYATTR//NONSGML Organizer//EN:caluser:0:foo@bar
-//XAPIA/CSA/ENTRYATTR//NONSGML Start Date//EN:datetime:19950512T130000Z
-//XAPIA/CSA/ENTRYATTR//NONSGML Status//EN:uinteger:2304
-//XAPIA/CSA/ENTRYATTR//NONSGML Subtype//EN:string:-//XAPIA/CSA/SUBTYPE \
   //NONSGMLSubtype Appointment//EN
-//XAPIA/CSA/ENTRYATTR//NONSGML Summary//EN:string:Special Meeting
-//XAPIA/CSA/ENTRYATTR//NONSGML Type//EN:uinteger:0
-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Show Time//EN:sinteger:1
-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Repeat Type//EN:sinteger:0
-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Entry Delimiter//EN:string:end
	Date: 5/12/1995
	Start:  9:00am
	End: 12:00pm
	Repeat: One Time
	For: 0
	What: Special Meeting

These extraneous data do not prevent the appointment from being
accepted as valid by Calendar.  Drag all the lines to Calendar to
schedule the appointment.

Workaround: To send the appointment by email, include it as an
attachment rather than in the text of the message.


Dropped Appointment Will Not Print (Bug ID# 1205146)
****************************************************
Keywords: Calendar, drop, appointment, Front Panel, print

If you drop a Calendar appointment on Print Manager on the Front
Panel, it does not print.  Instead, a dialog box is displayed with
the message:  "There is no print capability for this data type."

Workaround: Drop the appointment on a text area and print it from
there.  You may want to delete the extraneous lines of text between
the first line of the appointment ("** Calendar Appointment **") and
the Date line.


Cannot Drop Calendar Appointments on Calendar's Icon  	
****************************************************
Keywords: Calendar, drag and drop, appointment

Due to a limitation in the CDE 1.0.1 drag-and-drop protocol, you cannot
drop Calendar appointments on the Calendar icon.

Workaround: Drop appointments on an open calendar view or on the
Calendar icon in the Front Panel.


Some Appointments Not Viewable in All Calendar Views (Bug ID# 1196829)
**********************************************************************
Keywords: Calendar, dtcm, appointment, view

If you schedule a large number of appointments at a single time slot
or on a single day, you may not be able to see all the appointments
on your Calendar.  For example, if you schedule three appointments
for 2:00 PM on 8/11, and attempt to view those appointments via the
Day View in Calendar, they may not all be visible due to the limited
space available to display each time slot.

Workaround: Double-click the day in Calendar to open the appointment
editor, which contains a scrolling list that shows all the
appointments for that particular day.


===============

Help System Bug

===============

Help Viewer: Control+S Exits (Bug ID# 1204631)
**********************************************
Keywords: Help Viewer, help, Control+S

If you type Control+S in dthelpview, the Help Viewer exits as if you
had pressed the accelerator for exiting the window (Alt+F4).
However, no data are lost, no core file is produced, and nothing is
corrupted.

Workaround: Do not type Control+S in the Help Viewer unless you want
to exit.


===========

Mailer Bugs

===========

Mailer Crashes If You Do Not Define A Value for A Default Custom Header 
*********************************************************************** 
(Bug ID #1221342) 
***************** 
Keywords: Mailer, Default Custom Header, value 
 
In the Compose Window category inside the Mail Options window, which 
you open by choosing Mail Options from the Mailbox menu, if you add a 
value, such as "To:," "Subject:," "Cc:," or "Bcc:" to the Header 
Field, but do not define its value in the Default Value field, Mailer 
crashes when you restart it. 
 
Workaround: Always fill out the Default Value text field for default 
custom headers.


Mailer Will Not Write the .mailrc (Mailer Startup) File If It Is Corrupted
**************************************************************************
(Bug ID# 1216671)
*****************
Keywords: Mailer, .mailrc, startup, syntax error

When Mailer starts up, it reads your .mailrc file.  If that file
contains a syntax error, such as "if" without matching "endif,"
Mailer posts a dialog box to notify you.  Mailer also displays
additional error messages in your console window or the terminal
emulator in which you started Mailer.

Your options are to quit Mailer and correct the .mailrc file, then
restart, or continue to run Mailer.  If you continue to run Mailer
without correcting the .mailrc file, you can modify settings for the
current instance of Mailer, but you cannot save any changes to the
.mailrc file.  To save changes, you must first quit Mailer and correct
the .mailrc errors.


Front Panel Mailer Control May Not Match Minimized Mailer Icon (Bug ID# 1187626)
********************************************************************************
Keywords: Mailer, Front Panel, control, minimized icon

The Front Panel Mailer control and the minimized Mailer icon
can get out of synch when indicating new mail.

Workaround: Consider the status of the icon more accurate than the
Front Panel control.


Mailbox Not Locked When Sending Mail to a File (Bug ID# 1209947)
****************************************************************
Keyword: Mailer, /filename

A mailbox is not locked when mail is sent to a file, either by the
+folder or the /filename mail recipient method.  Two problems can
result:

Problem 1: 
---------
If you execute multiple concurrent sends, in which the same file or
mail folder is present as an email recipient in more than one
message, the messages may become merged in an indeterminate way when
written to the file.

For example, if you have two Compose windows open, both naming the
folder "+test" as an email recipient, and you click Send in both
Compose windows in rapid succession, the information from both
messages may become merged in the folder, +test.

Workaround: Depending on the system speed, wait a short period of
time -- at least 15 to 30 seconds -- between sending two separate
messages.

Problem 2: 
--------- 
If you use Mailer to open a mailbox that you then use as an email
recipient in a message, or if you send mail that has a mailbox as an
email recipient in the message, and then quickly use Mailer to open
that mailbox after sending to it, you could lose the email that was
sent to the mailbox.

Workaround: Do not send email to a mailbox that is open in Mailer.
Wait approximately 15 to 30 seconds before you open a mailbox to
which you just sent email.


Log Message: Sent Mail Saved in File sent.mail by Default (Bug ID# 1209177)
***************************************************************************
Keywords: Mailer, sent mail, sent.mail, log message

If you choose Log Message from the File menu in a message you are
composing, but have not specified a "Mailbox for sent messages" in
the Mail Options dialog box (Message Filing category), the message is
saved in a file called "sent.mail" in your home folder.


Mailer Fails To Obtain Exclusive Access to Mailbox: CDE ToolTalk Not Running
****************************************************************************
Keywords: Mailer, descriptor, systems, dbserver, mailbox, exclusive
          access, ttdbserverd, ToolTalk, Solaris 2.3, Solaris 2.4

Mailer turns on file locking by default; that is, Mailer attempts to
obtain exclusive access to any other open mailbox by communicating
with the ToolTalk database server (ttdbserverd) on the system on
which the mailbox resides.  In Solaris 2.4, if the CDE version of 
ToolTalk is not installed on the system on which the home directory or
the mailbox resides, a dialog box is displayed with the message:

     Mailer is unable to obtain exclusive access to this
     mailbox because the system is not responding.

     For this time only, you can choose to open this mailbox
     read-only, or to open it read-write without exclusive
     access (use only if no one else is using this mailbox).

       [Read-only]   [Read-Write]   [Cancel]   [Help]

Click one of the buttons to continue.  If you click Read-Write, be
sure that no other mailer is being used to view the mailbox;
otherwise, you may corrupt your mailbox.

Workaround: If you are running Solaris 2.4, install the CDE version of ToolTalk
on your mail server.  In the event that your mailbox is on a shared
machine, your system administrator should do the installation.

To install the CDE version of ToolTalk on each file server: 
 
1.  Insert the CDE 1.0.1 CD, and type: 
          
    % cd /cdrom/<volumeid>/cde-min 
    % su root 
    % Password: [Enter your root password] 
    # pkgadd SUNWtltk 
  
2.  In the /etc/inetd.conf file, change the line: 
  
      100083/1 stream  rpc/tcp wait root /usr/openwin/bin/rpc.ttdbserverd \ 
      rpc.ttdbserverd 
  
    to: 
  
      100083/1 stream rpc/tcp wait root /usr/dt/bin/rpc.ttdbserverd \ 
      /usr/dt/bin/rpc.ttdbserverd 
  
3.  Reboot the system. 

If you are running Solaris 2.3, install patch #102650-02.  For details,
see the PatchList document in the directory: /cdrom/<volume_id>/README.
 

Mailbox Locked: Other Mailer Has Exclusive Access to Mailbox
************************************************************
Keywords: Mailer, mailbox, exclusive access

Two new Mailer dialog boxes have been added for the case where you
try to open a mailbox that is already open by, for instance, typing
dtmail from a command-line prompt.  If ToolTalk determines that
another mailer has exclusive access to a mailbox, a dialog box is
displayed with the message:

     Someone else is using this mailbox.
     Would you like to demand exclusive access?

           [OK]   [Cancel]   [Help]

If you click OK, the other mailer is closed.  If you click Cancel,
another dialog box is displayed, which offers you the option to either
open the mailbox read-only, or cancel the dtmail command.

Other mailers, such as the OpenWindows Mail Tool, do not
necessarily include ToolTalk-aware file locking.  "Use network aware
mail file locking" is an Expert option in the Properties dialog box
in the Mail Tool Edit menu.  If ToolTalk-aware file locking is not
turned on, Mailer starts up without recognizing that another mailer
is running.


Extraneous Characters Reading Mail: Non-MIME-Compliant Mail Reader
******************************************************************
Keywords: Mailer, MIME

If you use a non-MIME-compliant mail reader instead of Mailer
(dtmail) to read your mail, you may sometimes see extraneous strings,
such as "=20" or "=09."  Mailer uses strict MIME-character encoding
by default.

Workaround 1: Use Mailer to read your mail. 

Workaround 2: If your mail recipients cannot use Mailer to read their 
mail, then you should turn off strict MIME encoding in Mailer.  To do so:

1.  Choose Mail Options from the Mailbox menu.

2.  Choose Advanced from the Mail Options Category options menu.

3.  Click the "Use strict MIME character encoding" check box, if it is
    checked, to turn it off. 

Strict MIME character encoding was designed to package email so that
it is not altered between the sender and the receiver by intermediate
mail transport agents that have restrictions in the size and type of
data that they hand off without modification.  For example, some
transport agents have a maximum line length restriction, some as few
as 80 characters, while others strip the eighth bit off of the data.

So, if you relax the character encoding, you may not receive email
exactly as it was sent.  You cannot determine whether this is the
case in advance, however, as there is no way to find out what
intermediate mail transport agents may be involved in the routing of
email.


========================

Application Builder Bugs

========================

PowerPC: No Focus in Some Help Dialog Boxes (Bug ID# 1217311)
*************************************************************
Keywords: App Builder, PowerPC, help dialog box, input focus, 
          Color Chooser, error message help

On the PowerPC platform, clicking the Help button in the App Builder
Color Chooser opens a help dialog box that does not allow input
focus.  Therefore, the Close, More, and Help buttons in that dialog
box are not active.  This problem also exists on the PowerPC in any help 
dialog box that is opened by clicking the Help button on an error message
dialog box within App Builder.

Workaround: There is no workaround to interact with the buttons in
the help dialog box.  Dismiss the box by double-checking on the window 
frame menu in the top-left corner.


Code Generator Make Fails If Module Names Are Too Similar (Bug ID# 1217234)
***************************************************************************
Keywords: App Builder, code generator, module name

The code generator translates module names into valid C identifiers
for use in function names, variables, structures, and so on.  It is
possible for two different module names to map to the same generated
name; for example, "module1" and "module_1" both result in generated
references to "module1."  Such a scenario produces error messages from
the compiler during a make operation.

Workaround: Avoid using names that differ only in embedded
non-alphanumeric characters.


Selection of an Object May Fail If the Mouse Is Moving (Bug ID# 1217246)
************************************************************************
Keywords: App Builder, selection, mouse

If the mouse moves even slightly when you attempt to select or
deselect an App Builder object in the interface, the Project
Organizer, or the Module Browser, you may not be able to select or
deselect that object.

Workaround: Be sure that the mouse pointer is stationary when
selecting or deselecting an object in the interface, the Project
Organizer, or the Module Browser.


Monochrome Bitmaps on a Color Display: Icon Appears Blank (Bug ID# 1211410)
***************************************************************************
Keywords: App Builder, monochrome, bitmap, icon

Within App Builder, using a monochrome bitmap on a color
display can cause an icon to appear to be blank because the color
used for the bitmap's background lacks contrast with the bitmap's
foreground color.  This bug does not affect the application that is
generated, but can make the icon invisible in build and test modes.

Workaround: If this problem occurs in Style Manager, choose a color
palette that makes the icons visible.  You can do so while App Builder 
is running.


Generated Code Does Not Support Drag with Mouse Button 2 (Bug ID# 1211539)
**************************************************************************
Keywords: App Builder, mouse button 2, BTransfer, drag

According to the section "Integrating with Drag and Drop" in _Common
Desktop Environment Programmer's Guide_, you should be able to start
a drag by pressing the middle mouse button (mouse button 2)
(BTransfer) on a three-button mouse.  You can specify that this mouse
button is BTransfer via Style Manager.

Even if mouse button 2 is set to BTransfer, an application created
with App Builder that has a drag site does not respond to
mouse button 2.  You can use only mouse button 1 (BSelect) to
initiate a drag.  This is a deficiency in the generated code,
specifically dtb_utils.c.  It should check whether mouse button 2 is
BTransfer and handle drag initiation accordingly.

Workaround: Make a Create Call Function connection for the drag site
widget.  That create callback should check whether mouse button 2 is
BTransfer.  If so, then it should fill in a DtbDragSite struct with
the correct information (exactly like the code in dtb_utils.c:
dtb_drag_site_register()), and add an event handler for
Button2MotionMask, passing the dragSite as clientData.

All that the Button2MotionMask event handler needs to do is to call a
function, drag_start(), which is almost an exact copy of
dtb_drag_start().  You also need to copy the supporting drag
functions, (dtb_drag_convertCB(), dtb_drag_to_rootCB(),
dtb_drag_finishCB(), and dtb_drag_terminate()), to the _stubs.c file.


List: Adding Label in Property Editor (Bug ID# 1197932)
*******************************************************
Keywords: App Builder, List object, label, Group object, attachments

In App Builder, if a List object is created, and the List Property 
sheet is used to configure it with a label, the List object may not
resize properly if it has Right or Bottom attachments, or if it
is contained within a Group object.  
	
This problem occurs because an XmRowColumn widget is being used to
pair an XmLabel widget with an XmList widget, and the XmRowColumn
does not resize the List when it is resized.

Workaround: Do not use the Property Editor to configure the label for
the List.  Instead, create a separate List object and a separate
Label object, and group them together (leave the Group's layout type
as "As Is").  Then, set the appropriate attachments for the List so
that it resizes properly when the Group is resized:

       Group----
                |
                v	
   -------------------------------
   | ----------   -------------  |  Left Attachment = To-Sibling (label)
   | | Label: |<- |           |->|  Right Attachment = To-Parent
   | ----------   |   List    |  |  Bottom Attachment = To-Parent
   |              |           |  |
   |              |           |  |
   |              -------------  |
   |                    |        |
   |                    v        |
   -------------------------------


Browser Pop-up Menu Only If Close to Objects (Bug ID# 1197892)
**************************************************************
Keywords: App Builder, Browser, pop-up menu
              
The Browser pop-up menu is displayed only when mouse button 3 is pressed
close to or over Browser objects.

Workaround: Click mouse button 3 over any Browser object. 


Project Organizer: Module Path Not Updated (Bug ID# 1208372)
************************************************************
Keywords: App Builder, project organizer, module path

If you select a module icon in the Project Organizer window, the
module path does not change to indicate the location of the module
beneath the mouse pointer.

Workaround: Click mouse button 3 over an empty area in the Project
Organizer window.  When the pointer passes over the module icons, the
module path is updated accordingly.


Menu Item Mnemonic: Same Name As Other Object (Bug ID# 1197634)
***************************************************************
Keywords: App Builder, menu item mnemonic, message catalog,
          label translation

If the label string for a menu item with a mnemonic is identical to
another object's label string in the same module, only one message
catalog entry is created for that label string.  This is a problem
for translation because the mnemonic character must be preserved.

Workaround: Do not use the same label string for two objects in a
module.  If you must do so, add a space at the end of one of the
names.


List Object: Initial State Not Visible (Bug ID# 1189616)
********************************************************
Keywords: App Builder, List object, initial state

App Builder does not properly handle List objects whose 
initial state is not visible.  List objects that are configured to be 
invisible when they are created are visible in the generated application.

Workaround: Create a connection from the list with a When value of
Created.  In the callback for this connection, use XtUnmanageChild()
to ensure that the list is invisible.  This action does not cause any
unnecessary flashing on the display because the create callback is
called on the list before the window is visible.


Connection: Callback Name Changed (Bug ID# 1203662)
***************************************************
Keywords: App Builder, connection, callback, callback name change,
Connections Editor

If you change the name of a callback in the Connections Editor, all
modifications you make to the callback are lost when code is
generated.

For instance, you might create a When:Shown connection to call a
function called "fix_it()," which you then augment to perform
application-specific actions.  If you then change the name of the
callback to fix_file() in the Connections Editor, the new function,
fix_file(), is written by the code generator, and all the code in
fix_it() is lost.

Workaround: Save any functions whose names are to be changed into a
temporary file.  After changing the callback names in Connections
Editor, regenerate the application and insert any custom code from
the temporary file back into the new file created by the code
generator.


Makefile: Adding New Modules to a Project (Bug ID# 1190679)
***********************************************************
Keywords: App Builder, make, makefile, add module

Adding new modules to a project can cause the Makefile to become out-
of-date, which then causes the make program to fail with an error
from the compiler or the linker.  This problem occurs when the
Makefile has been edited because, to avoid the loss of user
customizations, the code generator does not update the Makefile to
add references to the new module.

Workaround 1: Manually edit the Makefile to add the new module or
modules.

Workaround 2: Rename the Makefile as Makefile.custom, for example, so
the code generator can write out a new Makefile.  Then reapply
customizations to the previous Makefile to the newly generated
Makefile.

 
Generated Code: Compiler Warnings (Bug ID# 1208511)
***************************************************
Keywords: App Builder, generated code, compiler warning

Generated code sometimes causes compiler warnings, such as:

    warning: comment is replaced by "##"

This warning is caused by the inclusion of certain X11 and Motif
header files that have not yet been updated to handle the change in
the construct used for C preprocessor macro concatenation from
pre-ANSI to ANSI C.

Ignore this warning; the compiler handles the header files that
generate this warning correctly.


Align/Distribute: Undo Inconsistent (Bug ID# 1209476)
*****************************************************
Keywords: App Builder, Undo after Align or Distribute 

Undo is inconsistent after an Align or Distribute action on three or
more control objects: If Undo is active after an Align or Distribute
action, only one object moves back to its original position.  In
some cases, Undo is inactive after an Align or Distribute action.


List Objects: Difficult to Resize (Bug ID# 1209467)
***************************************************
Keywords: App Builder, resizing List object

When the cursor is moved over the resize handles of an object, it
should change to display the appropriate resize cursor (an arrow
pointing toward a corner or toward a vertical or horizontal line) to
indicate that the resize is possible.  For a List object, when the
cursor is placed over the North, South, East, or West resize handles
(a small, dark square), the cursor does not change, and resizing does
not work.  The corner resize handles do work, however.

Workaround: Move the arrow cursor slightly in these directions:

For North/South handles:  Move the cursor slightly to the left of the 
                          resize handle.

For East/West handles  :  Move the cursor slightly above the resize handle.

Then press mouse button 1 to display the resize cursor.


Graphic Files May Not Be Found (Bug ID# 1209530)
************************************************
Keywords: App Builder, graphic files

If a graphic file cannot be found and an error message has been
displayed, App Builder does not search for that graphic file
again during the current session, even if the file has been moved to
or created in a folder that is included in XMICONSEARCHPATH.

This error message is displayed if a project or module that contains
references to a non-existent graphic file is opened, or if a
non-existent graphic is referenced as a label for an object in the
Revolving Property Editor.

Workaround: Exit App Builder, ensure that the graphic file
exists in a folder included in XMICONSEARCHPATH, and restart
App Builder.


Saving Project: No Check for Enough Space (Bug ID# 1209593)
***********************************************************
Keywords: App Builder, save project, disk space

If you attempt to save a project or a module on a disk that does not 
have enough space to store the entire file, App Builder writes 
out an incomplete file without notifying you of the failure.  If you 
then save the file again, App Builder deletes the *.BAK file,
replaces it with the incomplete version that was written out
previously, and writes out a second truncated version.  This action
corrupts all the working copies of the file.

Workaround: Ensure that the disk has enough room before saving.
If you happen to notice the problem before saving your module or 
project again, do *not* save again; you will destroy the current 
.BAK files, which may be the only uncorrupted files you have.
Instead, free up some disk space and check your .bil and .bip files 
to see if they are corrupted or truncated.  If they are, check the 
.BAK files; if they are OK, rename them and use them to rebuild your 
project or module.


Two-Button Mouse: Pop-up Menus in App Builder Applications
**********************************************************
(Bug ID# 1210437)
*****************
Keywords: App Builder, two-button mouse, pop-up menu

Solaris supports either a two- or a three-button mouse.  If you
develop App Builder applications that use mouse button 3 to
display pop-up menus, you may have to apply the workaround described
here to support pop-up menus with a two-button mouse.

_Common Desktop Environment Style Guide_ recommends that pop-up menus
be posted with the BMenu button, which is mouse button 3 on a
three-button mouse or mouse button 2 on a two-button mouse.  It also
recommends that the functionality of pop-up menus be available
elsewhere in the interface, usually on a menu bar.  There is no
support in Motif for mouse button bindings, so the application must
dynamically change its behavior based on the number of mouse buttons
available and its use of the buttons.

If the application you are developing with App Builder includes no 
functionality bound to mouse button 2, and hence there is
no collision with using the button to display pop-up menus, apply the
workaround, which causes mouse button 2 on a two-button mouse to
display pop-up menus.

Do *not* apply the workaround if there is some key functionality
bound to mouse button 2 that cannot be moved to another button.  The
functionality that might be available from the pop-up menu must then
be available elsewhere, such as from a menu bar.

Workaround: If you used App Builder to develop your
application and your project contains pop-up menus, follow these
instructions for implementing support for a two-button mouse:

The code generator generates code that maps the pop-up menu to mouse
button 3 using a translation on the pop-up menu's owner widget, for
example, on a control pane.  This translation is set in the function
dtb_pop-up_menu_register() in dtb_utils.c.  This function is called
for the pop-up menu in the [module]_ui.c file after the pop-up menu
is created.  (Note: dtb_utils.c and [module]_ui.c are read-only
files.)

1. To override this mouse button 3 translation, write a global function 
   that detects the number of mouse buttons and, if it is fewer than 3, 
   installs a mouse button 2 translation for a given pop-up menu.
     
   Here is an example:

   void
   map_pop-up_menu_action(
       Widget      owner,
       Widget      pop-upmenu
   )
   {
       static XtTranslations pop-up_trans = NULL;
       static int btn_count = 0;
   
       if (btn_count == 0)
           btn_count = XGetPointerMapping(
           	XtDisplay(owner), (unsigned char *)NULL, 0);
   
       if (btn_count > 2)
           return; /* no remapping required */
   
       if (pop-up_trans == NULL)
           pop-up_trans = XtParseTranslationTable("<Btn2Down>: DtbPopupMenu()");
   
       XtOverrideTranslations(owner, pop-up_trans);
       XtVaSetValues(pop-upmenu, XmNwhichButton, Button2, NULL);  
    }
    
2. Call the above function for each pop-up menu in the application.  This
   action must occur *after* the window that owns the pop-up menu has been 
   initialized.  If the window has an initial state of visible, then this
   initialization happens in main(), and this call can be placed in main() 
   after the initialize call.  If the window is not initially visible, 
   then place the code wherever the initialization function is called, 
   that is, in the button callback that creates and maps the window.
   
   The following example code assumes there is a module named MODULE
   that contains a main window named MAINWIN.  In the window, there is
   a control pane named CONTROLP that has a pop-up menu named 
   POPUPMENU.  (Names are capitalized so you can easily see where to
   replace them with your own module/object names.)

   /**********************************************************************
    *** DTB_USER_CODE_START
    ***/
    
  
    
    /* dtb_MODULE_MAINWIN_initialize() was called somewhere above */
      
    map_pop-up_menu_action(dtb_MODULE_MAINWIN.CONTROLP,
   			  dtb_MODULE_MAINWIN.CONTROLP_POPUPMENU);  			  
    
    
   /*** DTB_USER_CODE_END
    *** 
    *********************************************************************/


UIL: Import and Export Failures (Bug ID# 1189650)
*************************************************
Keywords: App Builder, UIL import, UIL export

App Builder provides basic OSF/Motif User Interface Language
(UIL) import and export capabilities.  If you plan to import or
export UIL files, you should be aware of the following issues.  See
also the specific bugs that follow.

o Widget and Object Hierarchies

  In App Builder, GUI objects are abstracted over the Motif 
  widget set, so one App Builder object can map to one or more
  Motif widgets.  For example, the App Builder Text Field
  object normally comprises a Label widget and a Text Field widget, 
  and is contained in a Row Column widget.  However, if you do not 
  specify a string for the App Builder Text Field object
  label, the Label widget and the Row Column widget are not created.

  In summary:

  App Builder Object		        Motif Widgets Used or Created
  ------------------		        -----------------------------
  Text Field (with label)		Row Column + Label + TextField
  Text Field (no label)		        TextField

  Because the App Builder object hierarchy is different from the 
  Motif widget hierarchy, some transformation is required when UIL export 
  or import is done.  In the current design, App Builder defines 
  its UIL support as providing a functionally equivalent hierarchy.  The
  transformation only tries to map the Motif widgets to the closest 
  App Builder object, and vice versa.  Some attributes, such as
  positions, layout, attachments, and connections/callbacks, may not be 
  retained after the transformation is done, so you may have to perform
  some more tasks after executing a UIL import or export operation.
  
  For example, if a Label widget and a Text Field widget are UIL-imported, 
  they are converted to an App Builder Label object and an 
  App Builder Text Field object that does not contain a label.  The
  import process does not assume that the Label widget and the Text Field 
  widget should be optimized into a single App Builder Text Field 
  object with a label.  It is up to you to optimize the object hierarchy.

o Exporting: App Builder Functionality Not Supported in UIL

  There are a number of App Builder project components that do 
  not map directly to UIL source and are, therefore, dropped in the 
  exported UIL files.  These components include:
  
  o Certain Connection types: Create callbacks, predefined actions
  o Object online help properties
  o Object drag-and-drop properties
  o Message objects
  o Application Framework properties

o Exporting: Long Object Names 

  When a module is exported as UIL, App Builder object names can 
  become longer than what UIL allows, which is 31 characters.  Application  
  Builder does not have such a limit.  On UIL export, the full object
  names are output to preserve the naming conventions of the module.  
  For now, you must shorten those names that exceed 31 characters.

o Importing: UIL Module Structure 

  An UIL module imported into App Builder must be self-contained.
  Syntactically, you can write an interface definition in UIL that spans
  multiple UIL modules.  However, semantically, such a module does not fit 
  into the App Builder import model.  App Builder currently allows 
  importing one UIL module at a time, and requires that the module
  be completely defined within the file being imported.

  Do not use the UIL "exported" and "imported" storage specifiers within     
  the module to reference widgets outside of the imported module.  Also,   
  do not include other UIL modules into the imported module via the
  "include" directive.

  Just as every App Builder module contains at least one window, 
  so must any imported UIL module.  All objects defined in a UIL module 
  must belong to a window. 


UIL Import: Misunderstood Attribute Destroyed (Bug ID# 1209524)
***************************************************************
Keywords: App Builder, UIL import 

If an attribute is not understood when you import a UIL module,
App Builder destroys by default the object on which the
attribute is being applied.  The default should be to print an error
message and ignore the attribute, preserving the object in the
resulting object hierarchy.

For example, if an XmPushButton has a certain font associated with
it, but that font cannot be found, App Builder omits the button 
from the resulting object hierarchy.  Having the button in the
resulting object hierarchy without the font would be better than not
including it in the hierarchy at all.

Workaround: Manually add the objects that were destroyed to the
object hierarchy.


UIL Import: Module With No Window Causes SEGV Error (Bug ID# 1209541)
*********************************************************************
Keywords: App Builder, UIL import

Importing a UIL module that does not have a containing window causes
a SEGV (Segment Violation) error.

Workaround: Add a containing window to the UIL module you are importing.


UIL Import/Export: Connection/Callback Conversion Fails (Bug ID# 1209547)
*************************************************************************
Keywords: App Builder, UIL import, UIL export, connection, callback

App Builder does not support the UIL import/export functionality of 
connection/callback conversions.

Workaround: Manually add connections and callbacks after the
import/export operation completes.


UIL Export: Object Names May Be UIL Reserved Words (Bug ID# 1209554)
********************************************************************
Keywords: App Builder, UIL export, UIL reserved words

In a UIL export, App Builder object names can be the same as UIL
reserved words.  One example is "list."


UIL Export: Object Names May Exceed 31 Characters (Bug ID# 1209596)
*******************************************************************
Keywords: App Builder, UIL export, object name

In a module export to UIL, if an App Builder object name exceeds 
the 31-character limit imposed by the UIL compiler, it causes
a UIL compiler error.

Example:

    uil -I/usr/dt/include -I/usr/openwin/include TM_Visible.uil

	        XmForm visible_objects_custdialog_button_group;
	               *
    Error: name exceeds 31 characters - truncated to: visible_objects_custdialog_button_
		 line: 875  file: TM_Visible.uil

Workaround: Change all object names that exceed 31 characters to
unique names with less than 31 characters.  For example,
visible_objects_custdialog_button_group could become
vis_obj_cdlg_btn_grp.


UIL Export: List Item Syntax Incorrect (Bug ID# 1209558)
********************************************************
Keywords: App Builder, UIL export, list item syntax

A UIL export of a module that contains list items results in code
that cannot be compiled via the UIL compiler.  The list items are
exported in a controls declaration.  They should be exported in the
arguments declaration instead.

Example:

    uil -I/usr/dt/include -I/usr/openwin/include TM_VisObjects.uil

	        (nil) list_itemA_item;
	        *
    Error: unexpected LEFT_PAREN token seen - parsing resumes after ";"
		 line: 815  file: TM_VisObjects.uil

Workaround: Manually rework the exported code and move the items into
the arguments declaration, as follows:

Example: 

    object
    list_list:XmList {
        arguments {
            XmNscrollBarDisplayPolicy = XmAUTOMATIC ;
            XmNlistSizePolicy = XmCONSTANT ;
            XmNselectionPolicy = XmBROWSE_SELECT ;
            XmNvisibleItemCount = 4 ;
            };
        controls {
            (nil) list_itemA_item;
            (nil) list_itemB_item;
            };
        callbacks {
            /* unimplemented */
            };
    };

    Should be:

    object
    list_list:XmList {
        arguments {
            XmNscrollBarDisplayPolicy = XmAUTOMATIC ;
            XmNlistSizePolicy = XmCONSTANT ;
            XmNselectionPolicy = XmBROWSE_SELECT ;
            XmNvisibleItemCount = 4 ;
            XmNitems = string_table ("itemA", "itemB");
    	    XmNselectedItems = string_table ("itemA");
            };
        callbacks {
            /* unimplemented */
            };
    };

    Note: "itemA" is the label for list_itemA_item; "itemB" is the label
          for list_itemB_item.


UIL Export: Build-Mode Status Areas Not Removed (Bug ID# 1209560)
*****************************************************************
Keywords: App Builder, UIL export, build mode status

If a module is exported from dtbuilder as UIL, the build mode status
areas are not removed before the export, which causes a UIL compile
error:

    uil -I/usr/dt/include -I/usr/openwin/include TM_VisObjects.uil

	        XmForm dialog_status_area;
	               *
    Error: XmForm dialog_status_area was never defined
		 line: 63  file: TM_VisObjects.uil

Workaround: Edit the resulting UIL file and remove the reference to
the status area.


UIL Export: Invalid XmScale Widget (Bug ID# 1209587)
****************************************************
Keywords: App Builder, UIL export, XmScale widget

In the export of a module that contains a Scale or Gauge as UIL,
XmNslidingMode is output as one of the arguments.  This is not a
valid UIL argument for the XmScale widget.

Example: 

    uil -I/usr/dt/include -I/usr/openwin/include TM_VisObjects.uil

	        XmNslidingMode = false ;
	        *
    Error: value XmNslidingMode was never defined
		 line: 1502  file: TM_VisObjects.uil

Workaround: Comment out or remove the line that contains
XmNslidingMode in the exported UIL module.

Example:

	object
	gauge_scale:XmScale {
	    arguments {
		XmNshowValue = false ;
	!	XmNvalue = currently unsupported
		XmNdecimalPoints = 0 ;
		XmNscaleMultiple = 1 ;
		XmNmaximum = 100 ;
		XmNminimum = 0 ;
		XmNprocessingDirection = XmMAX_ON_RIGHT ;
		XmNorientation = XmHORIZONTAL ;
<<Delete>>      XmNslidingMode = true ;  <<Delete this line>>
		XmNheight = 19 ;
		XmNwidth = 90 ;
		};
	    callbacks {
		/* unimplemented */
		};
	};


UIL Export: XmNentryClass Syntax Incorrect (Bug ID# 1209590)
************************************************************
Keywords: App Builder, UIL export, XmNentryClass

When App Builder exports a module that contains a choice
object as UIL, the syntax for the XmNentryClass argument of the
choice's XmRowColumn is incorrect.  The argument is exported as a
string when it should be a class_rec_name instead.

Example:

    uil -I/usr/dt/include -I/usr/openwin/include TM_VisObjects.uil

	        XmNentryClass = "xmToggleButtonWidgetClass" ;
	        *
    Error: found string value when expecting class_rec_name value
		 line: 446  file: TM_VisObjects.uil

Workaround: Change the argument in the code to use a
class_rec_name().  For example:

    XmNentryClass = "xmToggleButtonWidgetClass" ;

should read:

    XmNentryClass = class_rec_name ("xmToggleButtonWidgetClass") ;


UIL Export: XmList Error (Bug ID# 1209591)
******************************************
Keywords: App Builder, UIL export, XmList

When App Builder exports a module that contains a list as UIL,
it places the XmNscrollBarDisplayPolicy argument incorrectly on the
XmList.  Instead, it should place that argument on the
XmScrolledWindow, the parent for XmList.

    uil -I/usr/dt/include -I/usr/openwin/include TM_VisObjects.uil

	        XmNscrollBarDisplayPolicy = XmAUTOMATIC ;
	                                                *
    Warning: the XmNscrollBarDisplayPolicy argument is not supported for the
             XmList object 
		 line: 809  file: TM_VisObjects.uil

Workaround: In the exported UIL code, move the
XmNscrollBarDisplayPolicy argument from the XmList to its parent, an
XmScrolledWindow.


UIL Export: Unsupported Arguments for Text Panes (Bug ID# 1209594)
******************************************************************
Keywords: App Builder, UIL export, text pane

When App Builder exports a module that contains a text pane,
it exports the XmNscrollVertical and XmNscrollHorizontal arguments
incorrectly.  These arguments are not supported for the XmText
object.  Since the XmText object is placed inside a XmScrolledWindow
object, these resources are not needed.  They are forced to False by
the XmScrolledWindow when the XmScrolledWindow's XmNscrollingPolicy
is set to XmAUTOMATIC.

	        XmNscrollVertical = true ;
	                                 *
    Warning: the XmNscrollVertical argument is not supported for the
    XmText object
		 line: 899  file: TM_VisObjects.uil

	        XmNscrollHorizontal = false ;
	                                    *
    Warning: the XmNscrollHorizontal argument is not supported for the
    XmText object
		 line: 898  file: TM_VisObjects.uil

Workaround: From the exported UIL module, remove the XmNscrollVertical and
 XmNscrollHorizontal argument lines from the definition for the text pane.

object
textpane_pane:XmText {
    arguments {
	XmNscrollHorizontal = false ;	<===== remove this line
	XmNscrollVertical = true ;	<===== remove this line
        XmNwordWrap = true ;
        XmNeditMode = XmMULTI_LINE_EDIT ;
        XmNcolumns = 8 ;
        XmNrows = 4 ;
        XmNcursorPositionVisible = true ;
        XmNeditable = true ;
        };
    callbacks {
        /* unimplemented */
        };
};


__________________ 
 
Documentation Bugs 
__________________

Docs Imply Mouse Button 2 Always Extends A Selection (Bug ID# 1217096)
**********************************************************************
Keywords: App Builder, mouse button 2, selection, extend selection

The App Builder help volume and the _Common Desktop Environment Application
Builder User's Guide_ ask that you use mouse button 2 to extend a selection
of objects in the interface, the Module Browser, or the Project Organizer.

This feature works if you have a three-button mouse and if you have 
selected Adjust as the mouse button 2 functionality in the CDE 
Style Manager. 

However, if you do not have a three-button mouse, or if you have selected 
Transfer as the mouse button 2 functionality in the CDE Style Manager, 
hold down the Shift key and click mouse button 1 to extend a selection.


Incorrect Function Name in _CDE Programmers Guide_ (Bug ID# 1200656)
********************************************************************
Keywords: documentation, Programmer's Guide, invoking actions

In the section "To Invoke an Action" in Chapter 8 of _Common
Desktop Environment Programmer's Guide_, DtActionInvokeID() should
read DtActionInvoke().


Calendar Attributes Documented Incorrectly
******************************************
In Table 10-3 in Chapter 10 of _Common Desktop Environment
Programmer's Guide_, the Character Set and Time Zone attributes
should both be listed as "Read-Only."  They are listed as "Not
Read-Only" in error.


No "Delete to Trash" Found in File Menu of dtfile (Bug ID# 1211243)
*******************************************************************
Keywords: dtfile, menu, trash, delete, documentation

The procedure "To Remove a Mailbox From Your File System"
on page 163 of _Common Desktop Environment User's Guide_
incorrectly refers to the Put in Trash item on the File menu.
The Put in Trash menu item is on the Selected menu.
