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>
      date/time  <NetPhantom>      SL_xxx     0000000000000010  C  <n/a>
      ServerThread: Internal Program Error in thread: 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:
        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 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:
        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/
  • 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
        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 "" 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
    When no specific "adminServerAddress" is specified, the Admin port (normally 1790) binds to listen to connections on 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:
    1. 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).
    2. An editable combobox connected to a protected host field at panel creation is not made editable when the host field becomes unprotected.
    3. 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.
    4. 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).
    5. Combobox color under Metal look-and-feel not correct when editable state is toggled.
    6. 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:
    1. Quicker detection of communication failure to a slave server along with better recover handling.
    2. 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.
    3. 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 (
        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:
    1. 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.
    2. 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.
    3. 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).
    4. 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.
    5. 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):
    1. 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.
    2. 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:
    1. REXX function PanChart setSeparators parameters are not taken into account when parsing data series from subsequent REXX functions.
    2. REXX function PanChart setValScale "cross:nn" parameter is not parsed correctly.
    3. Line chart category axis at a specific value is not handled.
    4. Line chart tick marks interval is not handled.
    5. 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:
    1. If a bar template file (.PHB) is not included in the application, adding/replacing controls from this template fails (but works under Phantom Hurricane).
    2. 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:
    1. 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.
    2. 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:
    1. 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.
    2. 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.
    3. 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:
    1. Logging of message "Internal program error: DataStream3270.writeStructuredFields: Unsupported SF [0xc]".
    2. 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: access denied ( NetPhantomClientImages.jar read)
      at java.lang.SecurityManager.checkPermission
      at java.lang.SecurityManager.checkRead
      at se.entra.phantom.client.ImageManager.<init>
      at se.entra.phantom.client.Phantom.initStuff
  • 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:
    1. same mnemonic key than the first one: panel control is activated instead of just getting focus,
    2. 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:
    1. 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.
    2. F10 doesn't dismiss a menu or pop-up menu.
    3. ArrayIndexOutOfBoundsException in JDK 1.1 (or MS JVM) when pressing Ctrl+F6 when a single child panel is present in browser or application area.
    4. Ctrl+F6 (select next child window) doesn't work properly in JDK 1.4.
    5. F10 doesn't activate the application panel menu bar when running the application inside the browser.
    6. Shift+F10 in JDK 1.4 causes next F10 key to be ignored.
    7. Alt+Mnemonic is treated as normal character input in terminal part, but should activate the matching menu item.
    8. Alt+Mnemonic only causes the second pull-down menu in the menu bar to drop down.
    9. 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".
    10. 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:
      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.
      at se.entra.phantom.clientplaf.Plaf3.findFocusOwner0
      at se.entra.phantom.client.Plaf.findFocusOwner
      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

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
    1. 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.
    2. 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
    1. 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).
    2. 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.
    1. Control receive focus gained/lost several times (up to 4 times, when once is sufficient).
    2. Focus is sometimes reset to first (and in some cases the last) focusable control when changing session or starting a new one.
    3. Dragging the mouse over menus could sometimes cause too many focus/defocus messages to be fired.
    4. 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:
      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.
    1. Initial focus to an editable cell in the listbox is not visible (typically with JDK 1.4 or better).
    2. Editing cells in a list was sometimes omitted.
    3. Focus sometimes lost when clicking or moving to another editable cell in the listbox.
    4. 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 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/
  • Terminal window errors
    1. The hourglass is shown in the terminal window when the host session is locked.
    2. Menu items cannot be selected when host session is locked, (e.g. "Disconnect" or "Change session" cannot be selected).
    3. 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).
    4. 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).
    5. 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
    1. Certain combinations of Shift and Alt with the Control key did not always work.
    2. Right Control key did not work for all JVMs (Sun JDK >= 1.4 or MS JVM).
    3. 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.
    1. When running e.g. ISPF under TSO and doing a "Search" the matching text is displayed with another background color using TN3270E Extended Highlighting.
    2. Input of characters does not overwrite the extended attribute of the individual character.
    3. 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
    1. 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.
    2. 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
    1. 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.
    2. 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.
    1. A configured host session ID "Z" is not displayed in the list of configured host sessions.
    2. 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
        at javax.swing.plaf.metal.MetalComboBoxUI.installKeyboardActions
        at javax.swing.plaf.basic.BasicComboBoxUI$
        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
  • 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
        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
        at javax.swing.plaf.metal.MetalComboBoxUI.installKeyboardActions
        at javax.swing.plaf.basic.BasicComboBoxUI$
        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
  • 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:
    1. The objects connected to the panel and controls did not receive the Create object message.
    2. 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:
    1. 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.
    2. 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:
    1. 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.
    2. 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.
    3. 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.
    4. 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>