Fixes in NetPhantom 3.70 Build 1700
These are fixes done since version 3.60 Build 1200 in chronological order.
Version 3.61 Build 1635
- Certain host sessions couldn't be created/edited using ServerAdmin
The ServerAdmin couldn't edit or create the host session "W" correctly.
Version 3.61 Build 1634
- Correted API functions for the listbox
The functions Java getCell and getLine (PanListGetData and PanListGetFld for REXX)
returned non-empty strings when line number is invalid and also sometimes returned color
conversion characters in error.
- While in PanHostInhibit(1) updates to a control caused updates to host
When the REXX function PanHostInhibit(1) is called followed by PanSetCtlData to e.g. an
entry field, this entry field would update the host with the new text, and it shouldn't.
- 3270 host session logged messages "Rejected transparency 0x0" and "Rejected field validation 0x0"
A 3270 host session could sometimes log the messages "Rejected transparency 0x0" and "Rejected field validation 0x0"
using certain mainframe systems. The messages was however not critical and did not affect the
system functionality.
Version 3.61 Build 1630
- Client message box "RegisterClass failed"
If the client class se.entra.phantom.client.dde.DDEServer is loaded twice by e.g.
and external framework, the static initializer that loads the NPCDDE.DLL as system library
can sometimes output two message boxes "RegisterClass(NetPhantom DDE Window) failed!" and
"RegisterClass(PhantomDDE) failed!".
Version 3.61 Build 1629
- Horizontal scroll bar for list box not set correctly
When having a horizontal scroll bar for a list box and not individual horizontal scroll bars per column,
the scroll bar is not set correctly if the list is not host connected, i.e. lines in the list box are
added from e.g. REXX. The result is that text in the last column cannot be scrolled to the
rightmost part of the column; the scroll bar is either disabled or cannot scroll enough.
- Automatic tab from an entry field doesn't select the next field the second time
When having "Automatic tab" option set for two consecutive entry fields along with the option
"Select entire field" the second entry field is not selected when focus is set to it a second time
from the first entry field (due to Automatic tab) if the entry field has not been modified
from the server.
Version 3.61 Build 1627
- Phantom Session Booster could cause server to use 100% CPU
If the panel in the Phantom Session Booster application called "GGGINIT" does not
contain the user window with the ID "USER", it could cause 100% CPU usage in the server
when downloading combination box files. The result might lead to a hanging client session
that can't be terminated (normally or "hard" using the Server Administration program).
Version 3.61 Build 1626
- Regression error in Phantom Session Booster
A regression error in Build 1625 caused a Phantom Session Booster
application not to be initialized correctly if "GGGAPPNAME2" was not specified
(new feature released in Build 1628).
Version 3.61 Build 1614
- 5250 error messages in host pop-up windows not correctly handled
The wrong error message could be displayed in a system error message box and/or a
system error message host field. The terminal screen also didn't display the error
message text in the host pop-up window. Note: this does not apply to all host pop-up
windows!
Version 3.61 Build 1611
- Unselection of disabled radio buttons not possible
Under JDK 1.4 or better, unselection of disabled radio buttons is not always possible.
This could result in several disabled radio buttons in a group to have more than one selection.
Version 3.61 Build 1600
- Multiple selection listbox doesn't reset its selections
When a host screen change updates a multiple selection listbox with new contents
(with the same amount of lines) and lines were previously selected in the list, these
lines remains selected although they should be unselected.
- The size of the vertical scroll bar is sometimes wrong for the listbox
When having a listbox with a horizontal and a vertical scroll bar with page buttons,
the option "Vertical scroll bar has list height" is unselected and the header height is
larger than the page button height, the vertical scroll bar is too small.
Version 3.61 Build 1581
- When running the NetPhantom Client inside another GUI framework, mnemonics doesn't work for components outside of the Phantom panels
The mnemonic character keystroke was eaten up by the NetPhantom Focus Manager due to a bug in Java 1.2 and 1.3 that had
to be worked around. The keystrokes are not eaten up anymore for Java versions 1.1 or 1.4 or better.
Version 3.61 Build 1573
- The fixes HTML documents are not shown correctly in Netscape or Firefox browsers
The fixes HTML documents didn't contain an ending </font> tag after each line in the list, thus displaying
improperly at the end of the documents. This is due to an error in the Mozilla HTML parsing and/or processing and
Microsoft Internet Explorer didn't have this behaviour.
Version 3.61 Build 1572
- In out-of-memory situations, the server could stop listening for new SSL socket connections
When SSL is used in conjunction with out-of-memory situations, the NetPhantom Server could stop listening for
new socket connections (HTTPS and/or NetPhantom Client/RAPP connections). When and if this occurred, a log file entry
showing a NullPointerException in the "SL_xxx" (where "xxx" is the port number) indicates the error source. The two log
file entries would typically be as below (with almost the same timestamp):
date/time <NetPhantom> SL_xxx 0000000000000010 C SC0004 ServerSocket: java.lang.OutOfMemoryError: unable to create new native thread
java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start
at se.entra.phantom.server.socket.a.<init>
at se.entra.phantom.server.socket.SocketClientConnectionListener.run
at java.lang.Thread.run
at se.entra.phantom.server.ServerThread.run
date/time <NetPhantom> SL_xxx 0000000000000010 C <n/a> ServerThread: Internal Program Error in thread: java.lang.NullPointerException
java.lang.NullPointerException
Version 3.61 Build 1568
- A focus request from server to a destroyed panel could cause an exception on the client
If a focus request on the server side has been issued (or by any functions calling requestFocus) for a panel that is
then destroyed or replaced, the client could throw an exception when processing this "wild" focus request.
The exception is:
java.lang.ArrayIndexOutOfBoundsException
at se.entra.phantom.client.PPanel.a
at se.entra.phantom.client.PPanel.b
at se.entra.phantom.client.SessionManager$Session.a
at se.entra.phantom.client.SessionManager.w
at se.entra.phantom.client.SessionManager.run
at java.awt.event.InvocationEvent.dispatch
at java.awt.EventQueue.dispatchEvent
...
Version 3.61 Build 1567
- REXX Application calling PanSetCurFromHost and/or PanSetFocus could cause client to be closed
If a REXX Application calls PanSetCurFromHost and/or PanSetFocus, this could eventually result in the client connection
being closed at a later stage.
The exception is:
java.lang.NullPointerException
at se/entra/phantom/server/VirtualPanelSession.appendFocusTransaction
at se/entra/phantom/server/VirtualSessionManager.commitChanges
at se/entra/phantom/server/VirtualSessionManager.processHostChange
at se/entra/phantom/server/ClientSession.processHostEvent
at se/entra/phantom/server/ClientWorker.dispatchEvent
at se/entra/phantom/server/ClientWorker.run
- REXX Application calling PanSetCurFromHost could cause client to be closed
Several errors could cause a client connection to be closed when a REXX Application calls PanSetCurFromHost.
The exception is:
java.lang.ArrayIndexOutOfBoundsException: 8 >= 6
at java/util/Vector.setElementAt
at se/entra/phantom/server/VirtualCListBox.setSelection
at se/entra/phantom/server/VirtualCListBox.setFocus
at se/entra/phantom/server/VirtualPanelSession.setCursorFromHost
at se/entra/phantom/server/VirtualSessionManager.setCursorFromHost
...
or:
java.lang.ArrayIndexOutOfBoundsException
at se/entra/phantom/server/VirtualPanelSession.setCursorFromHost
at se/entra/phantom/server/VirtualSessionManager.setCursorFromHost
...
Version 3.61 Build 1566
- Mnemonic does not always work
When e.g. a button outside a notebook in a panel has focus; its action
is not always performed when pressing its mnemonic character. This works however if
the button is located inside a notebook.
- Tab forward does sometimes not work in a notebook
When a notebook contains two controls when the first can receive focus and the second
can't, focus is not changed to the next focusable control when pressing the Tab key
(but back tab works).
Version 3.61 Build 1564
- HostSessionManager.setCursor(x,y) doesn't work
The Java call to the HostSessionManager class instance method setCursor(x,y) on the server side doesn't work and
always returns false. The NetPhantom framework doesn't call this method, thus only external classes might
encounter this error.
Version 3.61 Build 1562
- PanListFromFile error under Unix
Under Unix-type operating systems, the REXX function PanListFromFile
adds an extra empty line when one is encountered. This normally applies to lists
of one column; i.e. empty lines do not include a tab delimiter between columns.
The error was located in the server method PhantomFile.readOEMStringVector.
Version 3.61 Build 1560
- Client class Bounds made public in Build 1542
The class se.entra.phantom.client.Bounds was made public in Build 1542, but not its
members, thus being obfuscated.
Version 3.61 Build 1557
- Erroneous update of host session for non-editable date or amount fields
If the host screen is wrongly defined (e.g. with wrong filler and perhaps no trailing spaces removal) the
date and amount entry field, connected to a protected host field, could try to update the host causing the host
cursor to be placed in the wrong position and also logging events in the server log of type "Error setting host field...".
Version 3.61 Build 1556
- Host code page Cp875 Greek didn't include the Euro symbol
The Euro symbol is now added for this code page.
Version 3.61 Build 1555
- Build error in Build 1554 didn't include correct SRVANY.EXE
The new functionality in SRVANY.EXE (WaitTime) used by generic NetPhantom Windows Services
was not included in the Build 1554 due to a build error.
Version 3.61 Build 1554
- Editable listbox error
When editing a cell in an editable listbox column and pressing the Tab key or leaving the field to set
focus to another window, the cell could sometimes display another data entry and force focus back to the
cell in question when the panel received focus again (or the focus jumped back directly if pressing the Tab
key). This is normally a result of an incorrect host field definition in the Phantom Host Screen (such as wrong
filler and/or strip leading/trailing spaces attributes), but should not result in this error.
- Double-click on a listbox line does not trigger double-click action when all cells on the
line being clicked upon are editable
This "bug" exists in Phantom Hurricane (3.61c) as well because the entry field "eats" up the double-click mouse event
and doesn't forward it to the listbox.
- The Emulator Emulator cannot handle unformatted screens with data input
The Emulator Emulator (EE) didn't allow user input from the keyboard (or when setting host fields by e.g.
REXX or panels) to host screens that were unformatted.
Version 3.61 Build 1552
- 3270 datastream error in Erase Unprotected to Address order
If the EUA order (Erase Unprotected to Address) was issued from the host in a 3270 datastream
on a starting position where the field attribute was Numeric, this Numeric attribute would
be propagated to all fields where the erase order operated upon. If the starting field didn't have the
Numeric attribute, affected Numeric fields would have this attribute reset. The starting field extended
attributes such as background and foreground color, underline, etc, would also be propagated.
Updates to the host would not be affected by this, only local field editing requiring the correct Numeric
character to be entered (0-9, A-Z and some special character and signs) before any
other characters allowed by the field attribute (e.g. non-numeric) to be entered.
Version 3.61 Build 1550
- Notebook pages are not changed using mouse with Java 1.5
A bug in Java 1.5.0 (or J2SE 5.0) caused notebooks in NetPhantom with the attributes "Windows
Single Line" not being able to be paged when clicking with the mouse on a tab. This has been reported
to Sun as Bug ID "6180941". A workaround has been implemented in NetPhantom to make it work.
Version 3.61 Build 1542
- An editable listbox updates too many host fields several times
An editable listbox could cause one or more host fields more than once. A host application checking
for modified fields would then receive more modified fields than actually entered by the user.
- Selection error for host connected listbox
If a listbox is host connected to a selection field and this selection field is editable
(i.e. unprotected and visible) over more lines than what is currently present in the listbox,
it is not possible to select a line (e.g. using double-click) below the lines present. Phantom Hurricane
extends the list in these cases and NetPhantom did not.
- Client parameter for RESURL in global server variable is set incorrectly
The NetPhantom Client RESURL parameter specification passed to the server as a global variable
"NETPHANTOM_CLIENT_netphantom. resource.url" was not always set correctly (mostly undefined or empty string).
Version 3.61 Build 1533
- Server build number shows 1527
Due to a build problem, the build number shows 1527 since this build, even if the build number
should have been higher.
Version 3.61 Build 1532
- Debug screen output not removed in PSB
Debug output to screen was not properly removed for Phantom Session Booster on the server side.
Typical output: "PSB cmd screen = NNN".
Version 3.61 Build 1531
- Repaint problem with non-editable comboboxes
When a non-editable combobox is updated with contents not matching any item in the drop-down list, the update
didn't always cause the combobox to repaint, thus displaying the old value.
This problem existed in all JVMs and look-and-feels.
Version 3.61 Build 1530
- Client doesn't start if "altlogo.gif" requires authentication
The NetPhantom Client fails to start with a NullPointerException if the "altlogo.gif" image
has a resource access control that requires user authentication (e.g. on "live.netphantom.com" in the
GUI-on-the-fly samples). The exception is:
Uncaught error fetching image: java.lang.NullPointerException
at se.entra.phantom.client.Phantom.getAuth
at se.entra.phantom.auth.Auth.getAuth
...
Version 3.61 Build 1526
- Pop-up host screens are sometimes not recognized
When having many pop-up host screens of the same size and identification area along with the option
"Use binary search", the screens are sometimes not recognized.
- 3270 host session logged message "Rejected [setAttribute] character set 0x0"
A 3270 host session could sometimes log the message "Rejected [setAttribute] character set 0x0" when configured
for "Box drawing" using certain mainframe systems. The message was however not critical and did not affect the
system functionality.
- Application panel object does not get CREATE and HIDDEN object calls
An application panel with a connected object did not fire CREATE and HIDDEN object calls like all other
panel types.
- Automatic hiding of separators between menu items does not always work correctly
The new feature of automatic hiding of separators between menu items (implemented in build 1466) did not always correctly,
typically when made invisible at panel start. Modifying the menu item visibility after panel creation worked however.
- Business Graphics SetData REXX call did not accept just one value for a data series without separator
Business Graphics SetData REXX call did not accept just one value for a data series without separator.
- Business Graphics displays 10000% for single valued pie chart
The pie chart displays "10000%" instead of "100,00%" when a single value is used in a data series.
- Pop-up panel in application can be left visible when terminal part is shown
When using the new Terminal application GUI, a pop-up panel in the application could be left visible and never removed
when a direct switch between this pop-up panel to the terminal part was done.
- Tab wrapping into editable listbox
When pressing the Tab key several times wrapping it in the panel causing a Tab entry into an editable listbox,
the previous editable field got focus where the first field should have been focused.
- Visible part of listbox data not always correct
When a listbox contains a full page and is scrolled down, the visible part of the next page
could in some situations be scrolled up although the scrollbar didn't display this.
Clicking on a line in the list cured the problem.
- Admin port binds to 127.0.0.1
When no specific "adminServerAddress" is specified, the Admin port (normally 1790) binds to listen to
connections on 127.0.0.1 only, instead of all addresses. This error was introduced after build 1469.
Version 3.61 Build 1524
- 3270 datastream can log critical message in event log
The 3270 datastream can log the critical message "Internal program error:
DataStream3270: Unsupported 3270 Order [Order=0x25]". This order is normally used for
3270 printing only as the line feed order, but is sometimes present in a normal
terminal datastream as well (handled as space).
- Combobox errors
The following errors are now corrected:
- Combobox list update in combination with user update in the combobox could cause unpredictable results.
If a user modifies the combobox entry field and this causes updates to the server and the server directly creates a new
list for the combobox, the entry field could in certain cases be cleared in the client (depending
on network and client-server speed).
- An editable combobox connected to a protected host field at panel creation is not made editable
when the host field becomes unprotected.
- When a combobox has the option "Do not disable" and its host field is protected, changes made in the
combobox by the user (changes in entry field or selection of a list item) are not always successfully restored.
- Color of combobox button and sometimes the background of the "entry field" area of the combobox doesn't
always have the correct color depending on look-and-feel and Java version (Windows XP look-and-feel under Windows XP
with JDK 1.4.2 or better).
- Combobox color under Metal look-and-feel not correct when editable state is toggled.
- Metal look-and-feel (or Java look-and-feel) now displays the list and entry field area with e.g. white
background when non-editable but unprotected instead of the panel background color. This gives a better consistency
in the color scheme.
- License Manager change
A modification has been done to the License Manager to detect a failing communication
link to a server or another License Manager quicker. This affects the License Manager and the Server, i.e.
if the License Manager runs on a separate machine or a different directory than the Server, it
must be upgraded. Handling of recovery situations is also quicker and has improved reliability to establish
a "stable" solution with multiple License Managers (and NetPhantom Servers).
- Load Balancing changes
The following modifications are implemented for Load Balancing in order to improve its
functionality:
- Quicker detection of communication failure to a slave server along with better recover handling.
- Identification of all servers (slaves and/or controllers) as "serverAdminAddress:serverAdminPort"
in the Statistics and Load balancing panels as well as in the log file entries.
- Separate thread now notifies controller servers of concurrent and maximum limits for clients
and web server requests. This enables fewer transactions to be sent when many new connections
are established or closed within short time frames.
- Load Balancing error
When using NetPhantom 3.61 Build 1492 or better, the following error could be thrown
when starting a slave server: "ServerThread: Internal Program Error in thread:
java.util.NoSuchElementException: HashtableEnumerator"
at java/util/HashtableEnumerator.nextElement (Hashtable.java)
at se/entra/phantom/server/rconsole/AdminConfigUser.equals
- Empty log file name specification for License Manager and Cluster Controller error
When an empty log file name for License Manager and Cluster Controller is specified, the programs won't
start (because of error creating a file with an empty file name). Removing the "logFile=filename" specification
cures the problem.
- Regression error for listbox
Updates in e.g. Time component in status bar resets the listbox scrolling to the first line. This was
previously fixed in build 1420.
- Microsoft JVM sometimes displays empty password entryfields when focus is not present
When pressing Tab in a panel containing a password entryfield, the contents of the field (e.g. "****") is blanked
out when the field loses focus.
- Menu bar sometimes activated when pressing Alt+Tab under Microsoft JVM
When pressing Alt+Tab to change active window running Microsoft JVM (panels outside browser or as stand-alone
Java application), the menu bar can sometimes accidentally be activated.
Version 3.61 Build 1492
- Updates to combobox list makes first choice in list difficult to select
When a combobox gets a new list, the client selects the first line in the list when the drop-down becomes visible
and the entry field doesn't match anything in the list. This makes it hard to select this line by clicking with the
mouse or keyboard as nothing will happen, unless another item is selected and then the first item is reselected again
(this can be done without hiding the drop-down list). The correct behavior is that no line in the list is initially
selected when the drop-down is made visible.
Version 3.61 Build 1491
- A single editable listbox in a panel doesn't process Tab keys
When an editable listbox is the only control in a panel, pressing Tab (or Shift+Tab)
does not cause any action to be performed.
- Clearing and inserting contents to a combobox causes client
to trigger wrong selected line to the server
When a combobox gets a new list programmatically (by PanComboFromFile, PanListInsertData, etc),
the client selects the last line in the list and updates the server with this selection.
- Selected line index is not changed after calls to certain REXX functions for comboboxes and spin buttons
Calling PanListClear, PanListDelete, PanListInsertData and PanListFromFile and PanComboFromFile
functions could cause the selected line index to be invalid for comboboxes and spin buttons.
Version 3.61 Build 1490
- Editable listbox errors corrected
The following errors are now corrected:
- When an editable listbox is connected to host and has a selection host field set,
changes to editable cells are sometimes not updated to the host, resulting in the updated cell(s)
contents to be lost.
- Line selection can flicker on the client side when moving the selected line up and down using
the arrow keys fast, if the list is of single selection type.
- Down arrow key doesn't work in an expandable list when the cell in focus is on the last
line (but the list could expand).
- Changing cell focus with keyboard or mouse could sometimes cause the focused cell not
to display the cursor position and/or possible text selection as appropriate.
- Using the tab key, it is impossible to make the list expand to the last line, only
using mouse is possible.
- Notebooks sometimes processes Page Up/Down keys before other controls
When having e.g. push buttons connected to the Page Up/Down keys in a notebook page,
the notebook does not check this and processes the keystroke instead.
- Load balanced HTTP resource problems
The following problems existed for load balanced HTTP resources (HTML documents, images, etc):
- NetPhantom Server didn't set the "no-cache flags" and "expiration date" for a resource. This
could cause the client browser not to re-request the resource again from the original
server, thus bypassing the load balancing algorithm.
- Access control checking was not done on the load balancing controller before checking if the
resource is load balanced and redirecting to a slave server. The access control is now always
checked before checking if a load balance redirection is required. This can now potentially
require a user to authenticate him to the load balancing controller and a second time to the
load balancing slave before accessing the resource.
- Unnecessary data transferred to the browser for certain HTTP responses
The NetPhantom Server sent unnecessary data along with the HTTP response to a browser, typically
for redirection responses (used with load balancing and resource redirection).
- HTTP Tunneling client disconnected if timeout is set for the Web Server
If a timeout value (other than zero) is set in the Web Server configuration panel in
the Server Administration program, NetPhantom Clients using HTTP tunneling (parameter HTTP:1) will
lose the communication link with the server a period of inactivity as specified by the timeout value.
- The Server Administration program cannot always be started certain types of configuration problems
When the NetPhantom Server is configured for use with a License Manager and this License Manager has not
been able to be contacted (thus no licenses on the server), a ServerAdmin client can sometimes not be started when
the server has configuration problems.
- Load balancing controller warning message "Port ID already started at slave server..."
This warning message is sometimes shown in the controller server log when a slave server starts up.
The warning message should in this case not be displayed.
Version 3.61 Build 1475
- Business Graphics errors
The following errors for Business Graphics are corrected:
- REXX function PanChart setSeparators parameters are not taken into account when parsing data series from subsequent
REXX functions.
- REXX function PanChart setValScale "cross:nn" parameter is not parsed correctly.
- Line chart category axis at a specific value is not handled.
- Line chart tick marks interval is not handled.
- Spray chart area is two font heights too small.
- Change session in terminal application doesn't display available sessions
Only previously started sessions (that are enabled for session change) are displayed in the list of
available sessions to change to.
- License Manager file logging not flushed, nothing is written in the file
Logged events from the License Manager are not written to the "logFile" with the "appendLogFile" settings
correctly due to a stream flush error.
- Wrong message logged at server restart ("...awaiting a hard Java VM restart")
When performing a Soft or Hard server restart, the message "...awaiting a hard Java VM restart"
is logged rather than "...awaiting a restart".
- Hard server restart hangs on "awaiting server restart"
When running the server without a Server GUI and having multiple languages defined in "server.ini",
the Server Restart functionality hangs when restarting the server after the last logged event
"The server has been stopped successfully awaiting a restart".
Version 3.61 Build 1467
- Multiple horizontal scroll bars in listbox
When having a horizontal scroll bar for each column in the listbox, the scroll bar
is not always correctly set to the displayed/actual with of the column, causing it not
to be able to scroll sideways.
- Layout problem in listbox when sizing a column
When sizing a column in the listbox (only possible when the option "Width is
adjustable at runtime" is selected), the layout of the columns and headers could in rare
sitations be unsynchronized. Sizing the panel (if it also sizes the listbox) cures the
problem.
- Phantom Session Booster doesn't use the texts from the application test file
Corrected error in Phantom Session Booster "DLL" that didn't use the texts (GGGGUR01-17)
from the application text file.
Version 3.61 Build 1466
- Phantom Session Booster menus sometimes become hidden or disabled
When using the new functionality to disable or hide top menus, they
are disabled or hidden when a session is exited if the entry "includeUnauthorizedParentMenus=1"
in PSB.INI is specified. This error was introduced when support for single session in Phantom Session
Booster was added in Build 1447.
Version 3.61 Build 1465
- Focus sometimes set to last focusable control
in panel after update of listbox data
When the focus is placed in a listbox, the listbox gets new data
(e.g. from host), the new data contains less lines than the previous
data, the line selected in the previous data is below the new data,
focus gets temporarily set to the last control in the panel for a short
while before focus is restored. This only occurs under JDK 1.4 or better.
In rare cases, this could cause a race condition, causing transaction
looping between client and server (one can in this case see that the focus
is flipped between two controls continuously.
- Lines between each row drawing error in listbox
When having the option lines between each row for a listbox and scrolling
the list vertically, a drawing error caused lines to be drawn over of the
listbox lines rather than between.
- Regression error: editable listbox cell contents is sometimes
transported to next host screen
This error has been introduced after Build 1430 and causes an editable listbox cell
contents to be transported to another host screen when paging the listbox with the
listbox page buttons (and only in this case).
- REXX function PanSelectCurrCtl error
The implementation of PanSelectCurrCtl that was done in Build 1447 could
cause a focus race condition, causing transaction looping between client and
server (one can in this case see that the focus is flipped between two or more
controls continuously). This could be reproduced when a REXX macro was connected
to more than one entry field to the Focus message (and in the Focus message
calling PanSelectCurrCtl), and pressing and holding down the Tab key.
- NetPhantom Starter with SSL hangs at startup
When starting NetPhantom Starter SSL, it hangs after the message "Installing HTTPS
support". There was 3 class files missing in the extra/https directory for the installation
of NetPhantom Starter SSL and also in the server directory htdocs/DefaultStarterSSL/extra/https.
The exception below could be seen in the console output:
java.lang.NoClassDefFoundError: extra/https/HTTPSURLStreamHandlerFactory
at NetPhantomStarterSSL.initSSL0
at NetPhantomStarterSSL.initSSL
at NetPhantomStarter.runProgram
at NetPhantomStarterSSL.main
Version 3.61 Build 1452
- Some REXX functions could cause a deadlock for the client session
If the REXX functions listed below are called from a REXX application, a thread switch to the main thread (where
REXX macros are executed) was not done. If an object was called by NetPhantom, e.g. due to panel creation or session
selections, and this object is a REXX macro that calls a host-wait type of function (e.g. HostSend, HostWait, ScrWait),
the client session would deadlock when running a JVM prior to 1.4, and when running 1.4 or better, the following
exception is thrown: "Internal program error: HostScreenChange.waitForScreenChange called when VirtualSessionManager
has monitor lock in this thread (deadlock possibility)" and the REXX application aborts execution.
The following functions were affected: PanCreate, PanPreload, PanDestroy, PanSetCurFromHost, PanSetPanelFromHost,
PanCallCtl, SessionStart, SessionSelect, SessionStop and CallObject.
- REXX function SessionSelect doesn't always make topmost panel in session active
When calling the REXX function SessionSelect, the client doesn't activate the topmost panel in the
selected session if the panels are unlocked.
- REXX function PanSetFocus does not always work in notebook pages
When a panel is unlocked, the client already updated and the REXX function PanSetFocus
is called to set focus to a control in the current notebook page, the client sometimes
doesn't set the focus correctly.
- Duplicate load balancing slave servers wrongly handled in the controller server
If a duplicate load balancing slave server is started, the controller server logs the message
"Slave server already started" and disconnects the new slave server, but at the same time, the previous (valid)
slave server is also disconnected. This could cause the slave server information to be corrupt in the
controller server, and the only way to restore it was to restart it. This scenario should not occur in a
production environment because the duplicate slave server cannot use the same ports as the first one, and a
potential connection to a License Manager refused (because of a duplicate server ID).
- Validation of Load Balancing parameters in ServerAdmin sometimes not performed
In the notebook page "Load balancing" of Configure Web Server in the Server Administration
program, the parameters "Controller address" and "Port number" are not validated if the radio button
"Controller" and the checkbox "Use server clustering" are selected.
- Clicking with the mouse below all lines in a listbox doesn't always move the host cursor
In a single-selection list that is not editable, clicking in the empty space below all lines
causes the selection to be set on the client to the last line, but the host cursor is not
moved accordingly.
- Multiple line entry field inside notebook doesn't get page up/down keys
When a multiple line entry field is located on a notebook page, the notebook wrongly
handles the page up/down keys rather than letting the MLE handle it.
- JDK 1.1 and Ctrl+PageUp in multiple line entry field makes it empty
Pressing Ctrl+PageUp in an MLE when running JDK 1.1.8 or Microsoft JVM, the MLE scrolls
a page to the right even if the scroll bars does not allow this (i.e. no scroll bar or
not enabled for scrolling). This causes the contents of the MLE to be blank until Ctrl+PageDown, Home or End
is pressed.
Version 3.61 Build 1447
- NetPhantom Cluster Controller or Service Wrapper doesn't terminate all child processes
When running the NetPhantom Cluster Controller or Service Wrapper using Java 2 (i.e. not using the Microsoft JVM
service executables NetPhantomClusterWindowsNTService.exe or NetPhantomWindowsNTService.exe), started processes
are left running when stopping the service. The machine had to be restarted in order to kill the processes.
The problem was located in SRVANY.EXE (from Microsoft), and a compatible executable with the
same name has now been created. This new program correctly terminates all child and nested
child processes. Do not use the SRVANY.EXE from Microsoft, use the one shipped with NetPhantom
from this Build (1447) in the "ntservice" directory under the NetPhantom Server root directory.
Previously installed NetPhantom services using the SRVANY.EXE from Microsoft will automatically
use the new executable shipped with NetPhantom.
- License Manager and Cluster Controller cannot log events
to Windows Event Log
When running the License Manager or the Cluster Controller as a Windows NT
Service with any JVM except Microsoft JVM, the Windows Event Logging feature
(using the -nteventlog option) doesn't work because the class file
"windowsnt/eventlog/WindowsNTEventLog.class" is not present in the
NetPhantomLicenseManager.jar file or in the directory "windowsnt/eventlog".
- Admin port access control "" not found
When having the entry "adminAccessControl=" (empty definition) in [base] section of
"server.ini", the Admin port is not started and the error message "Access control not found,
access denied" is logged.
- Event log entries in wrong order in the ServerAdmin Event log
When the Event log is displayed in the Server Administration program and several events are logged in the
server (and the server has some processor load), the order of the events in the listbox could become wrong.
Pressing the "Refresh" button fixed the problem.
- IllegalArgumentException thrown when pressing "Change" in Event filter panel
When no line in the listbox is selected and the "Change" button is pressed in the Event filter panel
in Configure server in the Server Administration program, an IllegalArgumentException is thrown. There was
no functional error, just an event logged with the exception.
- A listbox with some columns not being host connected could cause a NullPointerException in the client
In a listbox with more than one column, where at least one column had no cells, produced a NullPointerException
when an update on a single line occurred.
- REXX function PanSelectCurrCtl returns RC=1
The entry field control (in VirtualCEntryField) did not implement the selectField metod of the VirtualInterface.
- 3270 datastream error, host session is not unlocked properly
Under certain circumstances, the keyboard was not unlocked at a Write operation, and thus the session
remained locked.
- Output text control causes new control group
When having an output text control between a set of tabbable controls such as entry fields,
a new control group was automatically inserted between the entry fields, thus movement using the
up/down arrow keys was stopped at the output text control.
Version 3.61 Build 1440
- Business Graphics not painting correctly first time
When a business graphics chart is placed inside a notebook and the page is not
displayed initially, selecting the page causes the chart to be displayed for a very short
while before it becomes invisible. Causing the window to repaint fixes the problem.
This behavior has only been seen using JDK 1.4 or better.
Version 3.61 Build 1439
- Menu items or function keys causes defocus/focus chain error
When using the keyboard to action a menu item, using the Enter key without having
a default push button or using unassigned function keys with the option "Pass through
function keys to host", the order of defocus/focus chain could be changed. This resulted
in e.g. an editable list cell not to be able to update the server appropriately and the
order of lock/unlock and focus/defocus messages to be in the wrong order. This was seen
mainly using JDK 1.4 or better.
- Regression error: editable lists problem under JDK 1.4
This problem was partly fixed in build 1437 but did not always work correctly
using JDK 1.4 or better.
- Non-selectable editable lists could sometimes select wrong cell for focus
An editable list could place focus in a cell that did not correspond to the cursor
location in the host screen (wrong column selected, but correct line). This was corrected
in build 1437 but did not apply to non-selectable lists.
- Default push button sometimes removed under JDK 1.4
When running panels outside browser (or as Java Application) without application panel,
the default push button could be removed when using the cursor or tab keys if the
panel didn't have a default push button registered.
Version 3.61 Build 1437
- Regression error: editable lists problem
After NetPhantom Build 1430, a regression problem resultes in editable list cells
not being able to update the host correctly.
- Editable lists could sometimes select wrong cell for focus
An editable list could place focus in a cell that did not correspond to the cursor
location in the host screen (wrong column selected, but correct line).
- Length of entry field error
When an entry field is created, connected to a host field and a length different from
the host field length is specified in Phantom Hurricane, this is overridden at runtime. This
was not the case for NetPhantom, the entered length was used instead of the host field length.
Version 3.61 Build 1435
- Toolbar REXX functions Add/Replace control doesn't work
The following errors are now corrected:
- If a bar template file (.PHB) is not included in the application, adding/replacing controls
from this template fails (but works under Phantom Hurricane).
- If bar controls have labels in lower case defined in the template file, they will not
be found when adding/replacing controls.
- Host connected multiple selection lists doesn't work properly
When having a multiple selection list with a selection and unselection string (e.g.
'A' and '_' respectively) connected to a host field, changing selection with the space key isn't
possible (because the previous selection is restored when selecting another line in the list).
This behavior could also be seen when using the mouse, but this is very timing dependent.
Version 3.61 Build 1434
- Applications with Tooltip texts does not display them when server runs under Unix
Due to a file case problem, the INI file used for the tooltip texts was not found
and therefore not loaded, resulting in applications not displaying the tooltips when the
server runs under some Unix dialect (AIX, Linux, Solaris, etc).
- Server displays "HEJ" in the console window when running 3270 sessions
A debug output was not removed for 3270 sessions (starting with NetPhantom Build 1431),
resulting in "HEJ" being printed in the server console for extended fields with a specific
starting position.
Version 3.61 Build 1431
- Enabled/disabled state of controls on client does not always match the server state
Under certain circumstances, a control on the client side could remain in the same enabled
state it was at panel creation, although it should toggle its enabled state. This could in
some situations only be valid after the first enabled state toggle, thus a second enabled
state toggle would be ignored.
- Host color conversion errors
The following host color conversion errors are corrected:
- A change in only the fore- and/or background color of a control and not the
control content could result in the change not being sent to the client.
- The fore- and/or background colors are sometimes not set correctly for entry fields
and comboboxes.
- Disabled or read-only entry fields and comboboxes color error
A disabled or read-only entry field or combobox sometimes gets the wrong fore- and/or
background colors, either initially or typically when changing editable state. For entry fields,
this is highly dependent of the options selected (No color, Background as panel or Disabled
when read-only).
- Update to combobox from server sometimes corrupts content on the client
When the server updates the client with a new combobox string (typically not contained in the
combobox list), the content is sometimes corrupted (empty string) on the client side. This could result in the client updating
the corresponding host field, setting it blank.
- Listbox selection error
Using a multiple selection listbox connected to a host selection field,
the selection is wrongly updating the corresponding host field when focus is set
to the listbox, only after returning from a pop-up window or from the terminal window.
- Extended character attributes not handled correctly in 3270 datastream
Using a TN3270E connection, extended character attributes within a field could be overwritten by certain
3270 orders (Start Field, Start Field Extended, Modify Field and certain Erase operations including Program Tab).
This could be seen using the text editor of ISPF (when performing the commands FIND, HILITE and CAPS).
- 3270 box drawing sometimes draws a vertical line rather than horizontal
When using ISPF and pop-up windows are drawn on top of existing lines/boxes, a horizontal
line could be changed to a vertical line.
- Paste operation errors for editable controls
The following errors for editable controls and paste operations are corrected:
- Paste into a text field are sometimes not performed. If the clipboard content is too large to fit
in the text field during a paste operation, nothing is performed. Phantom Hurricane cuts the clipboard
content to fit in the text field.
- Pasting into entry field, combobox and spin button does not take into account
"new line" separator characters. These characters are converted to spaces and pasting a cell
from Excel results in a space character at the end.
- Pasting into an editable cell in a listbox could overflow the entry field.
The listbox cell did not check the maximum amount of characters that could be input in an
editable cell upon a paste operation, thus causing an overflow of character input.
- System output is stopped when trace files are rotated
If the setting to redirect system output to the trace files is used; the output is stopped
when the trace files are rotated (by administrator or automatically).
- Possible NullPointerException in client terminal window
The client terminal window didn't check for null when using "getClipBounds" that theoretically
could return null.
- Maximum number of client connections wrong
The NetPhantom Server only accepts client connections up to the maximum count
minus one.
- Poor description of warning message "VirtualPanel.performAction"
The warning message logged does not describe where it originates from.
Version 3.61 Build 1430
- Garbage characters on the screen on a 3270 session
The following errors existed in the 3270 datastream processing:
- Logging of message "Internal program error: DataStream3270.writeStructuredFields: Unsupported SF [0xc]".
- 3270 datastream command Write Structured Field "Erase Reset" did not clear the partition, thus leaving characters on the screen.
These errors were produced when running the IBM DataInterchange application under ISPF when navigating between menus.
- Certain characters are replaced by spaces using a 3270 connection
Using a larger display size than 80x24 for a 3270 session and a host codepage different
from US English (EBCDIC 037), certain characters are replaced by spaces in the host before
they are sent to the NetPhantom terminal. This only applies to ISPF sessions and has not been
seen using e.g. a "normal" CICS/IMS session.
- Terminal window cursor not visible when over a character with inverted color
When the cursor is moved over a character with white background (inverted text), the cursor was not visible.
- Focus not set correctly in a panel when returning from the terminal window
When returning from the terminal window to a panel that was previously displayed (i.e. no panel change),
focus is not always set correctly in the panel. The control that last had focus in the panel keeps the
focus even if the host cursor should place focus on another control.
- Phantom Macro stops executing after a send key
The Phantom Macro sometimes stops the execution of a macro with the return code "1"
after a send key, if the next statement is not a "delay" or "wait for" operation.
- Initial placement of main panels wrong
When using main panels with the option "Individual size" set and inside an application panel,
the initial positioning of the main panel is always centered, and this differed from
Phantom Hurricane that uses the default main panel size of the application to calculate
where to center the panel when first displayed.
Version 3.61 Build 1427
- 5250 datastream problem with "illegal" characters
EBCDIC characters with hex value 0xFF should not be interpreted as a "printable character"
and was so done (squares were printed on the terminal screen).
This was only done improperly with the RepeatToAddress order (from the IBM datastream documentation:
"Although you can insert any code point into the repeated character field of this order,
avoid X'10', X'11', and X'FF'. These values may affect the display of data on displays
with extended attribute buffers").
- Selection in entry field is always done when it gets focus
In comparison to Phantom Hurricane, the selection was only set when required, i.e.
when the user pressed focus keys (Tab/backtab or arrow up/down buttons) or when explicitly
set from the host. NetPhantom did it always.
Version 3.61 Build 1426
- Microsoft Internet Explorer with Sun JDK 1.4.x deadlocks when loading the NetPhantom Client Applet
When the certificate used for signing the NetPhantom Client has not been accepted "Always",
(i.e. to always trust TietoEnator Financial Solutions AB from Java 2), a deadlock can occur
when the JAR file is first loaded by the "applet\cabs.html" file when using SmartApplet.
This is due to a bug in the Java 2 plug-in because it doesn't properly handle multiple signed
applets from the same JAR file being loaded in sequence. This problem only occurs with certain
Java VM 1.4.x and also depends on network, server and client speeds, i.e. a timing problem.
The workaround now implemented is to use only one NetPhantomClient[SSL].jar file from
the "applet\cabs.html" file. Therefore two new files are added to the "htdocs" directory
on the server (se\entra\phantom\client\Detect.class and sslapplet\SSLAppletStub.class)
in addition to the change in the "applet\cabs.html" file.
This problem also speeds up the initial start-up time (i.e. load-time) of the applet
when the JAR file is not already in the Java 2 client cache.
- Applet running Java 2 produces AccessControlException when the signed JAR file is not accepted by the user
If the user runs a browser that uses Java 2 VM (typically from Sun), and doesn't select "Yes"
to the question if the signed applet should be trusted, the following exception is thrown and the
NetPhantom Client never starts:
java.security.AccessControlException: access denied (java.io.FilePermission NetPhantomClientImages.jar read)
at java.security.AccessControlContext.checkPermission
at java.security.AccessController.checkPermission
at java.lang.SecurityManager.checkPermission
at java.lang.SecurityManager.checkRead
at java.util.zip.ZipFile.<init>
at se.entra.phantom.client.ImageManager.<init>
at se.entra.phantom.client.Phantom.initStuff
at se.entra.phantom.client.Phantom.run
- Insert Toggle always sets Insert Mode ON for 5250
When pressing the Insert key (normally mapped to Insert Toggle) in 5250 terminal
sessions, the Insert mode is turned ON but never OFF (Reset must be pressed to turn off
the Insert mode).
Version 3.61 Build 1420
- 5250 datastream problem with Command Attention/Command Function
Changed fields in the 5250 terminal session was not always sent to the AS/400 when
pressing a function key. This was due to nested "Start Of Header (SOH)" orders in the
datastream disabling the field data (CA = Command Attention) when multiple programs in the
AS/400 are used.
- 5250 datastream problem with modified fields
When a modified field is sent to the AS/400, NetPhantom cleared the Modified Data Tag
bit (MDT). But certain AS/400 programs can acctually request the modified fields many times
and then issue a command from the AS/400 to clear this MDT bit.
- PanSetTextFile and PanUpdate don't affect controls inside a notebook
The notebook did not inform the controls that an update of the text prompts
was required.
- Warning message "Inconsistency detected"
A push button or a menu item with the option "String is Text ID" and an empty "Send string"
caused the warning message "An inconsistency detected in the runtime application: PhantomCPushButton: sendString ''
not found in text file".
- Clipboard copy from a listbox inserts an empty line between each listbox line
Using all JVMs apart of Microsoft JVM, a copy to clipboard from the listbox inserts
an extra CR before the CR/LF of each line of data from the list. This was due to the JVM.
- Clipboard copy from a listbox does not move the minus sign to the beginning of numerical fields
Phantom Hurricane moves the minus sign in numerical listbox cells being pasted to the clipboard to the
beginning, and NetPhantom did not do so.
- The Exit button in the Terminal Application does not behave like pressing the (X) Close button of the window
When the terminal window is displayed programmatically, the Exit button did not behave like
pressing the (X) Close window button, i.e. to remove the terminal window and redisplay the GUI.
- Updates in e.g. Time component in status bar resets the listbox scrolling to the first line
Version 3.61 Build 1415
- User window did not support visibility and/or enabled state
The visibility and enabled state for the user window control was not supported
correctly (for e.g. external image), thus it was impossible to e.g. hide it.
- Keyboard menu selection error
When pressing the left or right arrow keys in the menu bar when only the
top-level menu item is displayed without it's drop-down menu visible, the previous
or next top level menu is shown, but also its drop-down (which it shouldn't).
Version 3.61 Build 1414
- 100% CPU usage on server in rare situations
An error in the internal server transaction dispatcher could cause a thread to
consume 100% CPU under rare circumstances, typically involving at least one REXX Application,
a REXX Macro, a modal message box and clipboard and/or DDE transactions.
Version 3.61 Build 1411
- Memory leak in server due to error in ServerThreadGroup
There was a memory leak in the ServerThreadGroup class of the server. The result could
be seen in the Server Administration Program under Server - Thread usage (System tab).
Thread groups were orphaned without any threads in the group (i.e. thread count zero).
Typically this happened after a REXX Application completed running, and the subsequent
thread group for the client session was created anew with the same Client ID for the next
started thread (of the client session).
- Focus not set properly in application area running inside browser
This only applied to JDK 1.1 and not to 1.4, and resulted in F10 or Alt key not
functioning to activate the menu bar.
- Duplicate mnemonic in menu and panel error
When a menu item is selected with a mnemonic key and a mnemonic character is then
pressed, one of the following errors could occur:
- same mnemonic key than the first one: panel control is activated instead of just
getting focus,
- other mnemonic key than the first one and a matching mnemonic in the menu is found
in a pull-down menu: this pull-down menu was selected and dropped down (should only have been selected).
- More than one radio button can become selected
Typically under JDK 1.4, more than one (disabled) radio button can become selected
in a radio button group if the option "Selected at no match" is used.
Version 3.61 Build 1405
- Keyboard processing errors
The following keyboard processing errors are now corrected:
- JDK 1.3 when having an empty application panel doesn't seem to have keyboard focus,
e.g. F10 or mnemonic characters doesn't work.
- F10 doesn't dismiss a menu or pop-up menu.
- ArrayIndexOutOfBoundsException in JDK 1.1 (or MS JVM) when pressing Ctrl+F6 when
a single child panel is present in browser or application area.
- Ctrl+F6 (select next child window) doesn't work properly in JDK 1.4.
- F10 doesn't activate the application panel menu bar when running the application
inside the browser.
- Shift+F10 in JDK 1.4 causes next F10 key to be ignored.
- Alt+Mnemonic is treated as normal character input in terminal part, but should activate
the matching menu item.
- Alt+Mnemonic only causes the second pull-down menu in the menu bar to drop down.
- Disabled menu items with an assignment of the function keys 1-24 causes the corresponding
keystroke to be sent to the host when the option "Pass through unassigned function keys to
terminal session".
- Pressing Enter in a panel can result in input focus being lost when the default
push button is hidden or disabled.
- Mnemonics are not always displayed under JDK 1.4
The mnemonic underline character is not always displayed under JDK 1.4 running Windows
2000 or better for checkboxes and radio buttons.
- Child window below topmost panel is selected for a very short period
When having multiple panel sessions and clicking in the non-topmost panel of another
panel session selects that window for a very short period until the top-most panel is
selected. This could result in objects running on FOCUS/DEFOCUS to be activated in the
wrong panel.
- Child panels moves leftwards inside application panel
When having a small panel change to a larger panel inside the application panel,
the newly created panel is moved leftwards in order to become fully visible (if possible).
This behavior is not consistent with Phantom Hurricane.
Version 3.61 Build 1403
- Child panels (inside the application panel or inside browser) are too large
Using JDK 1.4.2 (or better) the child panels are 7 pixels higher with Windows XP look-and-feel
than they should be.
Version 3.61 Build 1402
- 5250 display update error
When a screen changes contents (induced from host) just by changing the field attribute from
non-display to normal, the change is not reflected in the terminal part (of the Client
or in the Server GUI), i.e. the text data is not displayed. Internal data was however
unaffected. If the change of the attribute was from any attribute to non-display, this
worked fine. This error only existed for non-editable entry fields.
- EE doesn't handle non-display fields correctly
The NetPhantom EE package for 3270 as well as 5250 didn't correctly report the colors
of characters in a non-display field (it used the attributes stored in the EE file). This
also meant that there was no support for the "server.ini" option "displayHiddenText=1".
Version 3.61 Build 1401
- NullPointerException when starting the client as an applet
An error was introduced in build 1400 that caused the client running as an applet to
get the following exception:
java.lang.NullPointerException
at se/entra/phantom/client/uc.<init>
at se/entra/phantom/client/Phantom.init
...
Version 3.61 Build 1400
- Editable listbox copied cell data during page down
Clicking the Page Down/Up button with the mouse in an editable listbox that had focus
in an editable cell, caused the corresponding cell to receive the content from the original cell.
Version 3.61 Build 1399
- Exception in PhantomClassLoader with IBM Java 1.4.1
When running IBM Java 1.4.1 under AIX or Linux, the PhantomClassLoader can sometimes
produce the following exception:
ServerThread: Internal Program Error in thread: java.lang.LinkageError:
JVMCL048:redefine of class xyzapp/rexx/XYZREXX...
at java.lang.ClassLoader.defineClass0
at java.lang.ClassLoader.defineClass
at java.lang.ClassLoader.defineClass
at se.entra.phantom.server.PhantomClassLoader.a
at se.entra.phantom.server.PhantomClassLoader.loadClass
at java.lang.ClassLoader.loadClass
...
Version 3.61 Build 1398
- Auto-enter setting for 5250 entry field sometimes produces two Enter keystrokes
When having Type-ahead enabled in the Host session and a 5250 entry field with the
Auto-Enter attribute, pressing e.g. the OK button (that just sends Enter to host) can result
in a double Enter keystroke.
Version 3.61 Build 1397
- Problem with push buttons or menu items with the same action key
When having a panel that contains more than one item (push button or menu item)
connected to the same action key, the first item action is performed when the action key is
pressed (if the item is enabled and visible).
If the item was hidden or disabled, the remaining items in the panel were not checked
for matching action key.
Version 3.61 Build 1396
- NullPointerException problem in JDK 1.4
A NullPointerException problem was introduced in build 1395 and is now corrected.
It only applies to JDK 1.4 or better.
java.lang.NullPointerException
at se.entra.phantom.clientplaf.Plaf3.findFocusOwner0
at se.entra.phantom.client.Plaf.findFocusOwner
at se.entra.phantom.client.xf.run
at java.awt.event.InvocationEvent.dispatch
at java.awt.EventQueue.dispatchEvent
at java.awt.EventDispatchThread.pumpOneEventForHierarchy
at java.awt.EventDispatchThread.pumpEventsForHierarchy
at java.awt.EventDispatchThread.pumpEvents
at java.awt.EventDispatchThread.run
Version 3.61 Build 1395
- Cursor position 5250 datastream error
When multiple 5250 datastream packets are processed and the IC (Insert Cursor)
order is received, the cursor is placed at that address when the session is unlocked
(unless instructed not to do so). When the datastream contains several "packets" and
the "Start of Header" order is received after "IC", the cursor should move to the
first input capable field. This type of datastream is typically sent from a "Lansa"
application with "pop-up windows".
Version 3.61 Build 1394
- Iconized windows can become invisible
When the application area is large (or when running inside a browser with a
big window) and this area is made smaller, the "icons" of iconized windows are sometimes
not visible or reachable because they are not included in the scrollable area of the
application window. The windows are actually there, but not displayed to the user when
scrolling the area with the scroll bars.
- Minimized panels are selected for a short period of time
When clicking or moving a minimized panel, it is selected for a short period
of time until the server reselects the topmost session. This can result in errors when
running Phantom Session Booster applications.
- Host terminal colors are too dark
The default host terminal colors are now much brighter. Previously saved color
settings must be removed or reset in order to use the brighter colors.
- Default push button is sometimes removed in JDK 1.4
When running the client inside a browser or using child panels (inside the
application panel), the default push button is sometimes removed and not properly
restored when the panel is reactivated.
- Keyboard mnemonic character processing error
- When having the same mnemonic character in the menu as well as in the panel,
the menu items are not selectable with the mnemonic character from the keyboard.
The new implementation allows a round-robin selection between all items (menu and
controls) with the same mnemonic character.
- When a notebook page tab is selected, controls inside the notebook are not checked
when searching for mnemonic characters.
- Menu bar processing using the keyboard errors
- Under JDK 1.4, menu bar processing can result in a loss of focus and possible
beeping (because the system menu is selected, and this is not visible).
- The Windows standard is not fully implemented, e.g. the arrow up in top level menu
selects the previous top level item when the Windows user interface drops down the menu
and selects the first item.
- Mnemonic underline not displayed
Under Windows 2000 or better and JDK 1.4 or better, the underline below mnemonic
characters is not displayed for checkboxes and radio buttons. This is a Windows display
property setting, but now all mnemonics are displayed for all components. When pressing
and holding down the Alt-key, they are displayed (as in Windows).
- Uneditable combobox not always initialized correctly
An uneditable combination box that initially was created with a value not in the
drop down list caused the combination box to display an empty value. This empty value
then propagated back to the host.
- Internal frame errors (panels inside the application area or inside
the browser)
All these errors are related to JDK 1.4 or better, previous versions do not apply.
- Control receive focus gained/lost several times (up to 4 times, when once is sufficient).
- Focus is sometimes reset to first (and in some cases the last) focusable control
when changing session or starting a new one.
- Dragging the mouse over menus could sometimes cause too many focus/defocus messages
to be fired.
- Changing panel session could sometimes reset the focus to the first focusable control
in a panel when not host connected.
Version 3.61 Build 1382
- Listbox focus rectangle was difficult to see
- Wait hour glass now removed correctly in Java 2 when application panel is displayed
- Pressing Alt dismissed and reactivated the menu bar
- Activating and dismissing the menu bar in the terminal window under JDK 1.4 could result in lost focus
The menu bar is first activated, but when dismissed, the focus is not always restored
to the terminal window. Pressing Tab resolves the problem.
Version 3.61 Build 1381
- Maximized terminal window inside browser gives NullPointerException
When running the client inside the browser (any Java VM) and the terminal window
should be displayed as maximized, a NullPointerException was thrown.
- Closing a child panel closed the wrong panel
When clicking in Close window "X" in the title bar of a child panel that was not activated
closed the current activated child panel instead.
- Closing a miminized panel could cause NullPointerException
When pressing the Close window "X" in the title bar of a minimized child panel,
the child panel is not visibly removed. When pressed a second time, a NullPointerException
is thrown because the panel was internally removed.
- Listbox could reposition the host cursor
A single-selection listbox could sometimes reposition the host cursor even when the
user has not touched the listbox when other components updates the server or issues events,
typically "Focus Lost".
- Background color for combobox error
When a combobox is created with protected contents, the background color is sometimes
wrong when the combobox becomes editable again when using Java 2.
- Bar text drawn too low
The bar text is sometimes drawn too low when running Java 2 and client font metrics are
used in the server.
- Selection in entry field is sometimes incorrect
When an entry field has the option "Select entire field" but not the option
"Cursor at beginning of field", the cursor is placed at the beginning of the field instead
of at the end.
Version 3.61 Build 1377
- Dismissing pop-up menus shown from non-focusable components could sometimes not be removed
Under JDK 1.4 or better, dismissal of a pop-up menu shown from a non-focusable component can sometimes
cause a NullPointerException as described below, thus leaving it undismissable on the screen.
The exception was:
java.lang.NullPointerException
at se.entra.phantom.client.PPanel.resetDefaultFocus
...
Version 3.61 Build 1376
- Host cursor is moved when pushbutton gets focus
A pushbutton that is connected to a host field sets the host cursor to the connected
host field when the pushbutton received focus. Phantom Hurricane did not do so.
- Regression: Error in 5250 datastream
The fix below caused a regression error for the cursor location on the host screen
and is now corrected. This error was introduced in Build 1374. Previous error fixed:
When a system error message is displayed on the status bar of the terminal emulator
(e.g. when entering too much data into a field or in a protected field), the home cursor
position is set to the top left corner after pressing the Reset key. This should not be
the case.
- Editable listbox errors
Some of the errors below were introduced in Build 1374.
- Initial focus to an editable cell in the listbox is not visible (typically with JDK 1.4 or better).
- Editing cells in a list was sometimes omitted.
- Focus sometimes lost when clicking or moving to another editable cell in the listbox.
- Too many update transactions from the server to the client if the option "Always update text" was
set on a column header text.
Version 3.61 Build 1375
- Keyboard input sometimes not possible in JDK 1.4 due to NullPointerException
This error was fixed in Build 1374, but a control receiving focus sends focus lost
followed by focus gained two or three times to the server. This has now been
corrected.
- Initial focus in terminal window not present
When the terminal window is displayed under JDK 1.4 (works fine with JDK 1.4.2), the
host cursor is not visible and input focus not present. Pressing Tab cures the problem.
This error was introduced with Build 1374.
Version 3.61 Build 1374
- Host cursor is sometimes moved by a control
When a panel is created or when it is updated (also requiring setting focus to a control
connected to a host field) the host cursor is sometimes moved. This occurred when no control
was connected to a host field where the host cursor was placed and the client received
focus to the first tabbable control in the panel and this control had a host field connection.
- Spin button and combobox sometimes skips updating the client with new data
When a spin button or a combobox is connected to a host field and the control is
editable and host converted, a change in the host field is sometimes not reflected to the client.
- Focus problem in en editable listbox with JDK 1.4
When the NetPhantom client was running with Java 1.4.x, a panel with an editable listbox could
cause focus, and thus the host cursor, to be moved to some other control on the panel, when the user
was moving the focus in the listbox with the arrow keys, or with the tab key. This was caused by the
rewritten focus management in Java 1.4.x.
- Keyboard input sometimes not possible in JDK 1.4 due to NullPointerException
For certain panels, typically more than one child panel, keyboard input sometimes becomes
impossible. Pressing the Tab key resolves the problem. This was due to java.lang.NullPointerException:
at sun.awt.windows.WInputMethod.dispatchEvent
at sun.awt.im.InputContext.dispatchEvent
at sun.awt.im.InputMethodContext.dispatchEvent
at java.awt.Component.dispatchEventImpl
at java.awt.Container.dispatchEventImpl
at java.awt.Component.dispatchEvent
at java.awt.KeyboardFocusManager.redispatchEvent
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions
at java.awt.DefaultKeyboardFocusManager.dispatchEvent
...
- StressNoGUI produces NullPointerException in server
Because the StressNoGUI did not specify the user language (e.g. us, de or sv) the following
exception could occur: java.lang.NullPointerException
at java/util/Hashtable.get
at se/entra/phantom/server/ClientSessionManager.mapLanguage
at se/entra/phantom/server/ClientSessionManager.hasLanguage
at se/entra/phantom/server/VirtualSessionManager.processStartupInfo
at se/entra/phantom/server/VirtualSessionManager.onQueuedClientTransaction
at se/entra/phantom/server/ClientSession.processClientTransaction
at se/entra/phantom/server/ClientWorker.dispatchEvent
at se/entra/phantom/server/ClientWorker.run
- Terminal window errors
- The hourglass is shown in the terminal window when the host session is locked.
- Menu items cannot be selected when host session is locked, (e.g. "Disconnect" or "Change session"
cannot be selected).
- Pop-up panels on top of the terminal window are locked when the host session is locked (for lengthy
host session locks, the user cannot interact with the panels).
- The menu bar or pop-up menu is not selectable with the keyboard ("Alt" should activate the menu bar and "Shift+Alt" should display the pop-up menu).
- The setting for "Non-blinking host cursor" is not properly initialized when the Properties
panel is displayed.
- String caching in transactions from server to client removed for certain transactions
The string caching mechanism has been removed from transactions from server to client for the
following transaction types: report printing, host printing, host screen contents, Global Variables and DDE.
This makes the string caching to specifically target transactions for panels (which is was originally intended for).
- Terminal window Control key mappings errors
- Certain combinations of Shift and Alt with the Control key did not always work.
- Right Control key did not work for all JVMs (Sun JDK >= 1.4 or MS JVM).
- Server Administration program and customized keyboard remapper had options enabled for the Control keys
(left and right) that should have been disabled.
- 3270 keyboard error for Erase EOF
The 3270 key Erase EOF (End Of Field) did not properly set the MDT (Modified Data Tag) bit in the Field Attribute.
- Removed mouse interaction in terminal window for Server GUI and Display client terminal in the Server Administration program
This is done in order to avoid accidental cursor movement in a client terminal session and also to prevent mouse marking for clipboard operations.
- Extended attribute in TN3270E datastream error
The errors below only applies to "advanced" 3270 datastream using individual extended character attributes within a host field.
- When running e.g. ISPF under TSO and doing a "Search" the matching text is displayed with another background color using TN3270E
Extended Highlighting.
- Input of characters does not overwrite the extended attribute of the individual character.
- Delete of characters (Destructive backspace, Delete, Erase EOF or Erase Input) doesn't remove or shift position of extended attributes.
- Mainframe application sometimes logs the event "VirtualHostField: updateHost: hostField.setHostField failed"
For 3270 sessions that has a host field with the option "Erase EOF required" caused the event
"VirtualHostField: updateHost: hostField.setHostField failed" to be logged. The application seemed to
behave correctly anyway. The method HostSession3270. setHostStringAsKeys had the wrong return code.
- Disabled radio button is not selected at panel creation
A radio button that should be selected at panel creation does not get selected if it is disabled.
- Menu items in Metal and Motif look-and-feel does not display the box where the selection mark is drawn
Normal menu items in panels almost never contains selections unless some server-based code selects them.
In Metal and Motif look-and-feel, a box is drawn (JCheckBoxMenuItem UI does this). This doesn't look very nice
for most panels. So, if menu items are unselected, the UI for a normal menu item is now used (JMenuItem UI).
- Look-and-feel menu items error
Menu items in the Look-and-feel pull-down did not work if the text was changed in the "server[_xx].phm" file.
- Single-selection list without selection field line selection error
- When a single-selection list connected to host without selection field, a selected line in the list
remains selected even when the list is refreshed with new host data. The selection should be removed.
- A single-selection list without selection field could in some cases reposition the host cursor to the selected line.
- Terminal window for 3270 performs auto-reset
The terminal emulator window for 3270 always performs auto-reset and should not do so.
- Errors in 5250 datastream
- When a system error message is displayed on the status bar of the terminal emulator
(e.g. when entering too much data into a field or in a protected field), the home cursor
position is set to the top left corner after pressing the Reset key. This should not be
the case.
- The message "DataStream5250: FCW's are not currently supported: FCW(s) = 0x8240"
(Ideographic-either entry field) is sometimes be written to the event log for
certain AS/400 screens such as in OfficeVision/400. The functionality of the
emulator was not affected.
Version 3.61 Build 1360
- 5250 system error message box not always displayed
The 5250 system error message box is not displayed if there is a change of main panel
due to new terminal screen contents.
- Java 2 removes default buttons
Due to a known bug in Java 2, default push buttons are removed from panels when running inside
the browser or panels inside the Application panel (area). The default push button was removed
when the panel was deactivated.
- Focus sometimes reset to first focusable control in a panel
When running panels inside the browser or the Application panel (area), the focus is sometimes
reset to the first focusable control when a panel is activated, and not to the control that
previously had the focus when the panel was last active.
- First line sometimes selected in non-editable combobox
The first line in a non-editable combobox is sometimes selected when no selection should
be present. This error was introduced with Build 1344.
Version 3.61 Build 1353
- Moving cursor over field boundaries in terminal emulator can leave "grabage"
With certain fonts, typically large and bold fonts, "garbage" can be left visible when the
cursor is moved with the arrow keys just before or after a field. This was removed when the
terminal window is repainted.
Version 3.61 Build 1352
- Notebook could sometimes display wrong tab
This concern notebook with tabs connected to different host screens. When a hostscreen
appears that is connected to a notebook page, this page looks for the main panel and displays
this panel and temporarily sets the first tab as current. Then the notebook checks again for
the correct page to display, depending on the host screen and cursor position. If the option
"do not position cursor from host" was selected in the main panel, this verification was not
done, and the first tab remained selected, independent of if it was connected to the current
hostscreen or not.
- Wrong radio button could sometimes be selected
If radio buttons in the same group are all connected to the same host field, one of them
has the option "Default selection" set and another button the option "Select at no match", this
could lead to a "race condition" and the wrong radio button to be selected.
- Changes in German localized text strings for client
Some minor changes have been made to the text strings for the German language clients.
Version 3.61 Build 1349
- Server Administration program could cause event log to stop logging events
When running the Server Administration program and the session hangs or when a message box
is displayed on the client but not acknowledged, the event log is halted (and released when the
message box is acknowledged). This could lead to heavy memory consumption and the server to run
very slowly.
- Slow display of Server Event Log
The display of the Event log in the Server Administration program is very slow.
- Terminal window removal displays previous main panel
The new feature introduced in Build 1344 did not always work: When the terminal window is
removed and the panels are to be displayed, if there is a change of the main panel, the previous
contents of the main panel will not be displayed until the new main panel replaces the old one
(that normally takes about 1 to 2 seconds at most).
Version 3.61 Build 1347
- NullPointerException when doing Cut clipboard operation
Using the new Terminal Application and selecting the entire screen with Select All and then
performing the Cut clipboard operation, a NullPointerException would occur in TerminalFunctions.
- Delete key in Terminal Window under JDK 1.4.2 performs a delete and then inputs an "invalid character"
Under JDK 1.4.2 in the Terminal Window, pressing the Delete key performs the delete, then inputs an
"invalid character" (ASCII 127) that results in a character that looks like a square.
- Listbox update could cause host focus to be set to the list’s selection field
Updating the content of a listbox that did not have focus, could cause the focus on the host to be set to the first
line of the selection field, although the client’s focus remained on the correct control.
- Configured host session errors
The errors below were introduced in Build 1340 and refers to the Host notebook page when doing
Server - Configure - Base.
- A configured host session ID "Z" is not displayed in the list of configured host sessions.
- The new configured entries (e.g. Allowed sessions, Description) could sometimes be shifted to the right
causing invalid settings to be stored.
Version 3.61 Build 1345
- Numerical keyboard keys "+" and "-" for 3270 cannot be used as "+" or "-"
The numerical keyboard Plus and Minus keys can be remapped, but only to a specific terminal
key function (such as Enter or Home). The default keyboard mapping for these keys are "Field +" and "Field -", and
these keys are specific to 5250 and are not valid for 3270. The new behavior for NetPhantom is that for 3270 sessions, the "Field +" and
"Field -" operation produces a character input of "+" or "-". In addition, two new keyboard key entries to
enable even 5250 sessions to use these keys as "+" or "-" has been added.
- Tooltip text for listbox placed under mouse pointer
The new feature to display a tooltip text for listbox cells that cannot display all its text (due to size
limitation) displayed the tooltip text under the mouse pointer. This is now corrected to be placed over the
cell in question.
Version 3.61 Build 1344
- Print window does not work in the terminal part
The server configured print window keystroke (e.g. Ctrl+P) no longer work in the terminal part.
- Bold monospaced printer font used for host printing does not work with JDK 1.4
All print operations for the terminal part (3287 printing and print screen) does not use a monospaced bold
font (normally Courier Bold), instead a Helvetica Bold type is used. This error occurs using JDK 1.4 and some
other Java 2 versions.
- NetPhantom Starter overwrites definition of memory setting
If the memory setting for the client is specified in "client.pkg" in the local file, it is overwritten
when an update from the server is received. This is fixed in NetPhantom Starter version 3.12, and any
memory setting in a local "client.pkg" must therefore be reentered in the file in order to be saved
(after NetPhantom Starter version 3.12 this problem is gone).
- Menu bar activation keys F10 and Alt did not dismiss an activated menu bar
Pressing the menu bar activation keys F10 or Alt activates the menu bar and selects the first
non-disabled item. If the menu already is activated, it should be dismissed, but this was not done.
- Session Pooling dialog box error in Server Administration program
The button "..." in the Session Pooling dialog box in the Server Administration program did not perform
the action to select a script file.
- Mnemonic underline on static text or group box drawn too high up
The mnemonic underline is now drawn one pixel lower for static text and group boxes.
Version 3.61 Build 1343
- Error in panels when new Terminal Application is used
When using the new Terminal Application without an MDI (Application Area) and moving between main panels,
a panel corruption causes the GUI to be unusable. This error was introduced in Build 1332 when using the new
terminal application runtime (e.g. terminal/TERMINAL.PHR).
Version 3.61 Build 1342
- Escape and Enter directed to panel when combobox drop-down is visible
When pressing Escape or Enter when combobox drop-down is visible, the keystroke is directed to the
panel rather that hiding the list.
- Shift+Alt could lead to NullPointerException
Pressing Shift+Alt in a panel without pop-up menu when using MDI (Application Area),
a NullPointerException in se.entra.phantom.client.PFocusManager.processKeyEvent could occur.
This error was implemented in Build 1341.
Version 3.61 Build 1341
- Menu bar activation and processing (also pop-up menu)
No support to display the menu bar using the Alt key exists. This makes it impossible to activate the menu
bar with the keyboard when the option Pass through function keys to host is selected.
Support to display the menu bar using the Alt key and to display a pop-up menu using Shift+Alt is now added.
Also corrected left, right and down arrow keys handling in the top-level menu bar to be consistent with
the Windows standard.
Version 3.61 Build 1340
- Removing the pull-down menus from the menu bar with the mouse loses focus in JDK 1.4
Only in the new terminal window, if the menu bar pull-down is removed by clicking in e.g. the title bar with the
mouse, focus is not restored to the terminal window in JDK 1.4.
- Hidden buttons no longer performs an action when connected to a function key
Due to a previous bug-fix, hidden buttons no longer performs an action when connected to a
function key. This "feature" was used by some users, and as a result the real bug-fix broke the
application. In order to "stay compatible", a new option in "server.ini" has been added to the
[base] section. To activate the "old" (buggy) behavior, add an entry "allowHiddenButtonTrigger=1"
in the [base] section in "server.ini".
- Disabled or hidden push buttons or menu items connected to a function key
A new bug relating the problem described above is that if a menu item or a button connected
to a function key is disabled or hidden, the function key will be sent to the host session if the
option "Pass through function keys to host" is enabled. This should not be the case, i.e. if a disabled
push button is connected to F5, then the Client should not send the F5 key to the host session
because the GUI has disabled (or hidden) the action.
Version 3.61 Build 1334
- Client update on combobox or spinbutton text could cause update back to client
When the user changed text or selection in a combobox, this was updated to the server.
An error made the server to send the same update back to the client, unnecessarily.
- Disabled and enabled state of combobox not synchronized
When both the enabled state and the editable state of a combobox were changed at the same time,
the background color of the combobox was not set correctly.
- Disabled comboboxes that became enabled did not get the correct background color in Metal L&F
A combobox that is enabled has normally a white background color, even in Metal look-and-feel.
When the combobox was disabled and then enabled again, the background color became gray.
- Exception when changing L&F when focus on Combobox
There could be a NullPointerException on the client if the look-and-feel was changed when a combobox had focus.
- Errors in comboboxes when changing L&F
Changing L&F on a page with comboboxes could cause errors in fieldcheck and errors with new UserChange
lightweight events.
- Combobox list was updated every time the combobox text was changed
Unnecessary update of combobox list every time the text in the combobox was changed caused performance penalty.
- Selection in comboboxes was not always visible in client
When an item in a combox is selected and the combobox drop-down list is displayed, this selection should be
visible. This did not always work.
- Height of combobox and spin button controls could be wrong
In general, the height of the combobox was a little too large, and the spin button control
also too large and placed too high up in the panel.
- User change message in editable combobox not triggered
If text was entered by a user in an editable combobox without prior selection in the list,
an object connected to the combobox reacting on User change message (UCHG) was not notified.
- Listbox scrolled downwards too much upon creation due to selection
A single-selection listbox could sometimes be scrolled too much downwards upon creation when the
non-first line is selected.
- Listbox had hard coded values for scroll bar size
The listbox had the dimension 16x16 as hard coded values for the scroll bar size. This value
is now taken from the system and its look-and-feel.
- Overlapping controls not drawn correctly in panels with JDK 1.4
When panel controls overlap and the control being overlapped requests a repaint, this part
could "shine through". This only applies to JDK 1.4 or better and is typically seen with push buttons
connected to a function key and being placed behind a listbox. When the function key was pressed,
the push button became visible on top of the listbox.
- Initial focus sometimes incorrect in pop-up panels with JDK 1.4
When using pop-up panels the initial focus could in some cases be set to the first control
in the tab sequence rather than another control selected by the server (e.g. an entry field where
the host cursor is located). This could only be seen under JDK 1.4 or better.
- Initial focus in radio button group sometimes incorrect in notebook pages
When a notebook page is made visible the first time, and focus is set to a radio button in a group,
focus could sometimes be set to the first radio button and not the first selected one.
- Possible exceptions when several Server Administration clients run
If several Server Administration clients are run at the same time performing Client Terminal Color
changes, a possibility of encountering an exception existed. When the exception took place, only the clients
displaying the terminal window colors panel could be closed.
- NullPointerException for comboboxes on creation of a panel
This concerns clients running on Microsoft JVM. When a panel containing comboboxes was created
a NullPointerException could occur as below
java.lang.NullPointerException:
at javax.swing.plaf.metal.MetalComboBoxUI.installKeyboardActions
at javax.swing.plaf.basic.BasicComboBoxUI$1.run
at javax.swing.SystemEventQueueUtilities.processRunnableEvent
at javax.swing.SystemEventQueueUtilities.access$1
at javax.swing.SystemEventQueueUtilities$RunnableTarget.processEvent
at java.awt.Component.dispatchEventImpl
at java.awt.Component.dispatchEvent
at java.awt.EventDispatchThread.run
- User exit printing does not use font substitution with MS JVM
When printing the current window using the User Exit Printing (i.e. discret printing), any
fonts being remapped using font substitution use the original font or a default font (e.g. Sans Serif).
- Error when installing or uninstalling NetPhantom as service
A syntax error in "ntservice\is.bat" could cause the NetPhantom service not to be
installable (if the file [javaHome]\jre\bin\java.exe is not present). Another error could occur
when uninstalling the service under Windows NT/2000 (Windows XP had no problem), the executable
file "sc.exe" was not found.
- Client window flickers continuously with Microsoft VM
After having clicked on the Close in a window and replying "No" to the question if the
NetPhantom Client should be exited, windows could flicker continuously with Microsoft VM
if there was a main panel and at least on pop-up panel present. The CPU utilization is 100%
when this error occurs.
- Keyboard error for pop-up menus
When a pop-up menu containing a pull-down menu that only has disabled items, the keyboard
(arrow buttons and Escape) stops functioning.
- Focus sometimes not restored after display of pop-up menu
When a pop-up menu is displayed using the mouse and the right button was clicked on
non-focusable controls or in the panel itself, focus was not restored correctly in the panel
when the pop-up menu is removed (by means of pressing Escape or with the mouse). This error
only existed for Java versions prior to 1.4.
- NullPointerException in terminal window
When pressing the status bar "II" button upon a 5250 system error message,
a NullPointerException occurs as below
java.lang.NullPointerException
at se.entra.phantom.client.SessionManager.isPrintWindow
at se.entra.phantom.client.Terminal.sendKey
at se.entra.phantom.common.TerminalWindow.sendKey
at se.entra.phantom.common.TerminalWindow.actionPerformed
Version 3.60 Build 1306
- Enable and disable color of combobox was not always correct
The background color of a disabled combobox should be gray; an enabled combobox should have
white background. When an editable combobox state was changed from disabled to enable or vice versa,
the combobox background color was not correct.
- Changing look-and-feel could cause exception
This happened when client running Microsoft JVM changed look and feel on panel containing
comboboxes and focus was set to one of these comboboxes. After the look-and-feel was changed and
the user changed focus to other control, a NullPointerException occurred.
- Changing look-and-feel could cause editable comboboxes to become empty
When client changed look and feel on panel containing editable comboboxes, these comboboxes
were emptied.
- NullPointerException for comboboxes on creation of a panel
This concerns clients running on a Java version below 1.4. When a panel
containing comboboxes was created a NullPointerException could occur as below
java.lang.NullPointerException:
at javax.swing.plaf.metal.MetalComboBoxUI.installKeyboardActions
at javax.swing.plaf.basic.BasicComboBoxUI$1.run
at javax.swing.SystemEventQueueUtilities.processRunnableEvent
at javax.swing.SystemEventQueueUtilities.access$1
at javax.swing.SystemEventQueueUtilities$RunnableTarget.processEvent
at java.awt.Component.dispatchEventImpl
at java.awt.Component.dispatchEvent
at java.awt.EventDispatchThread.run
- HostSend error typically for 5250 error messages
The REXX functions HostSend and HostSendDirect returned zero (should have been one) even
if the host session entered an error state. This is typical for 5250 sessions when e.g. sending
an invalid function key to an AS/400 program.
- Wrong notebook page could be chosen
This concern panels containing both a notebook and other controls and where the
notebook pages are host connected. If the focus from host was set to a control in the
main panel that is prior in tab sequence to a notebook, the notebook page was not set,
even if the current notebook page was not connected to the current host screen.
- Secondary panel option was not handled for notebook pages
When more than one notebook page was connected to the same host screen, NetPhantom usually turn
the notebook to the first page connected to this host screen. To change to another primary page, the
option "Secondary panel" could be set in the panel definition of all notebook pages except the primary.
This did not work in NetPhantom.
- Focus in empty list not visible
When a listbox is empty, focus was not made visible by means of an empty selection rectangle
drawn on the first line.
Version 3.60 Build 1305
- HTML application with output text connected to a control does not check the
visibility state
When an HTML application uses output text to connect to a control on the panel
(using the HTML tag such as <@-OUTPUT@>) the text from the control ID "OUTPUT" was always displayed. The
visibility state of the control was not checked. The correct behavior to display an empty string
has now been implemented.
- Preloading of panels errors
When using the PanPreload function or the "Next panel" option, the following errors existed:
- The objects connected to the panel and controls did not receive the Create object message.
- Focus placement in the panel from the host was not processed at panel creation.
Version 3.60 Build 1304
- Map Escape to F12 in panels did not always work
The option "Map Escape to F12 in panels" did not work if only a menu item were connected to F12 and no
push buttons were mapped to F12.
- Hourglass sometimes displayed in the menu bar
When running the NetPhantom Client using Microsoft JVM, the hourglass pointer could sometimes
be displayed in the menu bar where no pull-down menus existed.
- First focusable control in a panel could be wrong
A panel is tested for enabled controls that can receive focus when searching for the
first focusable control. The entry field control did not check its read-only state, only the enabled
state. This could cause focus to be placed on the wrong control if such an entry field existed prior
to the control that should receive focus.
Version 3.60 Build 1299
- Toolbar items connected to hidden menu items are not disabled
Toolbar items connected to menu items were only disabled when its corresponding menu item was
disabled, not when it was hidden.
- Hidden menu items are not visible but takes up the visible space
Under JDK 1.1.x, hidden menu items returned the same size for getPreferredSize as visible ones. This
caused them to take up the same space as visible items. A workaround for this bug is now implemented in
NetPhantom.
- Change of translation table did sometimes not update the list
Using REXX API to change the application translation table and then calling PanUpdate did not
update the listbox cells if they used the translation table and the listbox did not contain any header.
- Destroying a pop-up panel could cause the rest of the panel(s) to remain locked
Under certain situations when changing host screen without host lock state change or when programmatically
removing a panel with the Java API function VirtualPanelSession.setPanelNestLevel could cause the
rest of the panel(s) to remain locked. Clicking on the Close button of the panel and then replying
"No" when the application should be closed resolved the problem.
Version 3.60 Build 1296
- Editable comboboxes without host conversion error
In some cases, an editable combobox without host conversion could become unsynchronized
with the host field contents.
- NetPhantomRAPP.jar does not support Xerces 2
To support the new Xerces 2 (e.g. 2.4.0), its JAR files must be included
in the CLASSPATH prior to openxml-1.2-np.jar and the new NetPhantomRAPP2.jar file
should be used instead of NetPhantomRAPP.jar.
Version 3.60 Build 1274
- Bitmap button images using Metal LAF are not displayed
Images on bitmap buttons are not displayed when using Metal Look and Feel.
- Escape key could produce autotab
The Escape key could produce an autotab function if the selection in the entry field
covered all the text and the length of the contents was at maximum limit.
- Empty combobox items are not visible in the list
Empty combobox items were drawn in the list as zero pixels high instead of full
font height.
- PanPreload('*') could cause main panel to remain locked
A call to PanPreload('*') could cause the underlying panel to remain locked, typically
if the method is called from a REXX application (works with REXX macro).
- Toolbar or status bar items could cause the panel to remain locked
Toolbar or status bar items that removes a panel on the client side e.g. by being
connected to a menu item that has "Next panel=*" caused the panel to remain locked.
Version 3.60 Build 1265
- Hourglass is not shown for non-topmost panels
Phantom Hurricane displays the hourglass for all non-topmost panels, but NetPhantom
only displayed the hourglass for those panels when the session is locked.
- Tool tip text for business graphics spray diagrams now display
items on separate rows
Version 3.60 Build 1264
- Host communication failure exception causes client connection to loop
When a host communication error occurs (typically EOFException and 3270 hosts), the
client session could enter a loop when the message box is displayed on the client. The loop
occurs on the server side under certain conditions, and terminating the client session
from the Server Administration solves the problem.
Version 3.60 Build 1261
- Server Administration program loops when more than 500 events are displayed
The Server Administration program could loop if the event history count was set to 500 or larger value,
or if the event log panel is displayed and the event count reached 500. When the program hangs, the Java process
consumes 100% CPU utilization (when one processor is used for the server, 50% for two processors, 33% for three, etc).
The NetPhantom Server would still run, but much less responsively. The only way to "cure" the server was to restart it
with Hard JVM restart.
- Icon user window SYSICOW3 cannot be loaded
Phantom Hurricane supports the DLL name SYSICO*, but NetPhantom supported
SYSICON32, SYSICONT and SYSICON.
Version 3.60 Build 1257
- Keyboard selection on combination box with duplicate items did not work
A combination box selection list contains two items with the exact same contents.
When using the arrow down key to scroll down the list, it stopped at the first of the duplicated items
so that the other items down the list couldn't be selected.
- Keyboard functionality for combination box with host conversion did not work correctly
A combination box that was host connected always gets the same editable length its host field.
When host conversion is used, this editable length should not be limited. The reason for this is that the client text
could be much longer than the host field length and then converted to the host text. The length of a host
connected combination box with host conversion is now always set to 255 characters. If no host conversion
is done, the entered text may be truncated.
- Business Graphics error with column values below 0
When a column value in the graph was below 0, the category axis crossed above the bottom of the graph,
but the values were incorrectly drawn from the bottom.
- Right aligned header text in last column could become invisible
Sometimes the header field in the last column could get a width that was too big, which caused a
right aligned header text to be placed outside the visible header.
- Line between rows only on visible rows
If a list box had the option 'Line between each row' set, the line between the rows was only visible
between the lines with contents. This meant that if a list was only partially filled with rows with content,
the lines between the rows was not shown between the empty rows.
- Cross update between server and client in list box
When an editable list box was preloaded (as happens if it is inside a notebook page), and the list box
received an initial focus before it received the content, a situation were the client was updating the server
at the same time as the server was updating the client could occur, which resulted in that the host field that
corresponded to the cell in the list that had the initial focus, was cleared. The server is now checking if it
has sent a newer update to the client before it allows an update from the client to update the server, and the
host.
- Minor corrections in JavaDoc
Version 3.60 Build 1250
- Installation and uninstallation of NetPhantomServerWindowsNTService
could fail partially, service is still startable
Under certain Windows Operating Systems (configuration and code levels of various
products), the NetPhantom Server Service could not be installed properly to its full extent
(e.g. under Windows 2000 [Server]). The service could however be started/stopped/uninstalled
properly without warning messages. This has now been fixed.
Version 3.60 Build 1244
- Page numbers in NetPhantomUsersGuide.PDF are wrong
All page numbers refer to page 7.
- Tabbing problem
Impossible to tab out from a listbox, or a MLE, when one of these controls were the only
controls on a notebook page. Shift-tab worked.
- Focus not correct when shifting notebook page
On a panel with a notebook, where the notebook pages were connected to different host
screens, changing notebook page did not set focus according to the host screen's focus.
- Listbox setting "line between each row" did not add an extra pixel for the row height
- Listbox vertical scrolling error when using Arrow Down key
When scrolling a listbox vertically using the Arrow Down key and the contents of the list was exactly
visible (height is exactly dividable by cellHeight), the list was scrolled each 2nd time by two rows.
Version 3.60 Build 1228
- Focus problem in listbox after pop-up menu
An uneditable listbox that had focus, where a pop-up menu was displayed by right clicking
with the mouse in the listbox, could lose focus after the popup-menu was closed. This problem
did not always occur, only in some occasions (probably timing related).
Version 3.60 Build 1224
- Non host connected listbox with editable cells has wrong maximum
input length
When a non host connected listbox with editable cells is created, the maximum length of input
fields can sometimes be set to the number of characters present in a cell rather than using the
configured length.
Version 3.60 Build 1221
- Cluster Controller fails with NullPointerException under UNIX
When running the Cluster Controller under UNIX (e.g. Solaris), the following error could occur:
"java.lang.NullPointerException at java.lang.Runtime.exec" when starting up the servers.
- Clicking the Page Up/Down sometimes caused the wrong list to be paged
On a panel with two or more listboxes, where focus was on one of the listboxes, clicking on an other listbox
Page Up/Down button with the mouse caused the wrong list to be paged.
- Synchronization problem in Business Graphics REXX function
There was a synchronization problem in the server for the Business Graphics REXX function that could cause
the client session to be closed if multiple REXX applications created new charts and filled it with new
data at the same time. The client might be closed with exceptions in the Transaction class in worst cases and
would otherwise display inconsistent chart data.
- Pressing F10 when menu pull-downs are visible under JDK 1.4
Pressing the F10 key when pull-down menus are visible caused the menu bar to reinitiate selection
to the first main menu item in the beginning of the menu. This could cause focus not to be restorable
using the keyboard when running JDK 1.4 or better.
Version 3.60 Build 1216
- Problems with "Pass through unassigned function keys to terminal session"
The following problems are now corrected:
- Function keys were passed to the terminal session even if a message box was currently displayed,
leading to a possible NullPointerException in the server when an application panel is used for
the application.
- Function keys were passed to the terminal session even if no panel session was started when using
an application panel (at least one main panel or pop-up panel must exist).
- Print PC operation did not always print the last character in certain host fields
When using the local "Print PC" operation on a terminal session, the last character on a line or in
certain host fields was not always printed.
- Client session could not be closed for RAPP session using JDK 1.2.2 on server running under Solaris
Due to a socket bug in JDK 1.2.2 under Solaris, a RAPP session could not close its terminal session.
This lead to the RAPP session never to be closed because a call to inputStream.close got hung.
Version 3.60 Build 1214
- Several listbox problems fixed
The following problems regarding listboxes are now fixed:
- Listbox did not receive focus after a pop-up dialog
When focus was moved to listbox by the host, and this was immediately
followed by a message box (when running outside browser or as a stand-alone
application), the listbox lost focus in some circumstances when the message box
was closed, and focus was placed in the previous focusable control. This only
occurred with Microsoft JView and Java 1.4, typically if focus was set to an
editable listbox cell.
- Wrong cell got focus after entering a listbox via Shift-Tab
An editable listbox that had focus in the last cell that was editable,
and the user first tabbed out from the list, and then tabbed into the list
with Shift-tab, focus was erroneously placed in the first cell, even if it
was not editable.
- Focus on wrong cell in listbox after selection update
In some cases, when the selection in a editable, single-select listbox
was changed, and the listbox had focus in an editable cell, and the first
cell on the line was uneditable, focus was moved to the first cell on the line.
- Cursor position on host in list regardless of clients focus
On a panel were an expandable listbox was the first focusable control,
and focus was placed on one of the other focusable controls after the panel
had been created, the host cursor was sometimes moved back to the listbox,
even after the clients cursor was moved to other controls by means of tabbing
or mouse click. The clients cursor (and focus) was always correct. This bug
was probably introduced by the fix "Expandable list box could cause erroneous
cursor position on host" in Build 1133.
- RAPP sessions could sometimes be hang after session
close
When running a RAPP application and requesting an immediate close transaction,
the session in the server was not completely removed from active sessions due to
a thread dead-lock at the internal server session clean-up. The session could not
be terminated from the Client sessions in the Server Administration program.
Version 3.60 Build 1205
- Background color for entry field error
When calling the Java method VirtualCEntryField.setEnabled from a thread that is
not synchronized on the VirtualSessionManager instance of the client session, the
background color could in certain situations be wrong if the entry field has the
option "Background as panel when read-only".
- Call to message box from e.g. REXX when called from RAPP error
An application that is used from the RAPP API could remain waiting after a call to e.g. the REXX
function "message". As no user interaction is possible, the message function now returns the value for
"Cancel".
Version 3.60 Build 1204
- RESURL specification with HTTPS does not work
When specifying RESURL with the HTTPS protocol, the NetPhantom Client displays an
error message at startup and cannot find resources using the RESURL. This only applies
when running the client as a Java Application (e.g. using NetPhantom Starter).
- NetPhantom Client as applet without PORT parameter error
The NetPhantom Client running as a Java Applet without a PORT parameter specification uses port "-1"
with certain JVMs. This value is now set to 80 for HTTP and 443 for HTTPS. Other values must
be specified using the PORT parameter. This could also lead to the following exception:
java.lang.IllegalArgumentException: port out range:-1
at java/net/Socket.<init>
at java/net/Socket.<init>
at se/entra/phantom/client/DefaultSocket.createSocket
at se/entra/phantom/client/PSocket.<init>
|