Fixes in NetPhantom 6.00 Build 6100

These are fixes done since version 5.50 Build 5500 in chronological order.

Please note that this document also contains fixes that are done in the NetPhantom 5.50 version too.
 

Version 6.00 Build 6100

  • Bold fonts with Java 7 in Client menus and message boxes
    Workaround implemented for bug in Java 7 (Bug ID 7083197: Font returns BOLD version if i ask for PLAIN after getAllFonts() call) causing NetPhantom Client to show bold fonts in menus, pop-up menus, menu items and message boxes, i.e. most places using Segoe UI or Tahoma as defined in the Windows System Preferences.
     
  • Several minor bugs in the Editor
    Minor bugs not affecting functionality corrected, mostly in the Editor.
     

Version 6.00 RC3 Build 6080

  • Changes from RC2 to RC3
    The following is a summary of the changes in RC3 compared to RC2.
    • Added the Tree Control and a new sample demonstrating the use of this new control as it required Java coding.
    • Change of workspace in Eclipse with projects using the same base name could cause Editor to use wrong project (typically when Eclipse quickly switches between e.g. Test and Devel workspaces using the same project names but in different locations).
    • Creation of NetPhantom Object from Eclipse doesn't always save Object definition in the Editor.
    • Configure project dialog locks up when error message box is shown pressing the Sign-buttons on the Client page.
    • Double-click in Digest and References views does not open Java Elements.
    • Font scaling not always matching the image scaling with the Client FONT:SCALE or FONT:DPISCALE options (applies to large values).
    • Client not always placed in foreground after launch from Editor or Eclipse.
    • Size of Panel Editor status bar rectangle for mouse/control position/size too small to fit x,y=(99999,9999) (99999,9999).
    • Cured SecureLogin application that is also a sample. Restructured for better Eclipse experience.
    • Updated SendMail sample to provide SMTP host defintion in an entry field and removed Configure pop-up dialog.
    • HTML variable tag PROGSHORT missing among others.
    • Removed too many log entries as "Project 'nnn' ready".
    • Added NetPhantom JavaDoc hover help in the Java Editor in Eclipse.
    • Backup files (*._H*) and NetPhantom.WSP file are displayed in Tree mode in Digest view (should be removed).
    • Under very rare situations, the NetPhantom Quick Start fails to start the Editor second time after installation under Windows 7 32 bit.
    • Switching or closing project in Editor did not cancel building in progress (only when building in the Editor, not in Eclipse).
    • Running the parallel client from the Editor and it starts by displaying a message box seems to cause Editor to hang, but is really that the message box is behind all windows and is not shown on the task list/bar.
    • Potential IndexOutOfBoundsException fixed in Image validator when project config has new directories and/or Jar specified.
    • Refactored Java or REXX source in Eclipse when dialog boxes are present in the Editor shows a warning message (which is fine) stating you must manually make an change in Object definition, but the Eclipse project is not refreshed in regards to project errors/warnings.
    • Added more description to missing Editor project definition for Eclipse workspace.
    • Removed error messages "NetPhantom Editor project update failed, project NNN not found" when creating a project" and "Editor data for project NNN ignored, not in workspace".
    • The > arrow button in combobox and spin button list content opens Notepad when Eclipse is started, should be opened in Eclispe.
    • Text, translation and combobox files sometimes do not update the Explorer contents when file changes, typically when file is edited in Eclipse and saved (when save is done the refresh should be immediate).
    • List combobox and spinbutton files starts in the installation directory instead of the project "app" directory.
    • Multiple-line entry field border is too dark gray in Windows 7+ with Windows L&F, doesn't look etched, almost black.
    • Missing Guide to RAPP PDF documentation in setup.
    • Other bug fixes.
       
  • Certain panel fonts replace with system font
    Certain fonts are replaced with the System Font when set on the Panel. If set on controls it works.
     
  • Missing notebook page panel in application causes client session to exit
    This error only applies to NetPhantom Editor that can run applications that are not compiled: when a notebook refers to a page that couldn't load the panel ID in question (due to error or because it is missing), the Server gets a NullPointerException after having displayed the error, but this resulted in the client session to exit. A Gui-on-the-fly panel is now created that displays the error, and the application continues to run.
     
  • Panel Editor undo errors
    Panel Undo does not work for notebooks, and when using the control flags (move/size/options) from the control dialog in question.
     
  • Stress tool without GUI does not properly handle load balancing
    The StressNoGUI tool does not inform a load balancing controller server during connection to it that it was just previously redirected from another load balancing controller. This can result in an endless loop of connection between two or more load balancing controller server that may result in a BindException (IOException) because the stress tool runs out of unclosed sockets on the server side. The real NetPhantom Client handled it properly.
     

Version 6.00 RC2 Build 5998

  • Changes from RC1 to RC2
    The following is a summary of the changes in RC2 compared to RC1.
    • Fixed broken Samples.
    • Batch mode Compile distribution NullPointerException fixed.
    • Compile distribution did not always write the classpath entry in [base] section of the NetPhantom.project file in final Jar.
    • Too much verbose logging for Batch Compile distribution.
    • Upgrade of Editor and Server does not ask to exit Eclipse before updating NetPhantom plug-ins.
    • Selection not refresh when linked (Digest and References views) and Editor causes updates in the tree.
    • Save All in Eclipse editors (e.g. REXX and Java sources) not done prior to Compile distributions (also required to focus Eclipse in foreground before showing message box).
    • Push button and menu item shows Panel Reference for “Connected control ID” instead of Control Reference, thus unresolved panels are shown in Explorer.
    • Unresolved state not propagated to files, folders and project elements in Explorer (the small Warning sign).
    • Eclipse setting "Activate Editor auto-save" does not work.
    • Start of Eclipse and/or Editor could show "Eclipse Integration connection busy: rejecting new connection", resulting in Eclipse stopping initial retries.
    • Launch Client from Eclipse enabled even when Editor connection is not present.
    • Run Client from Eclipse does not save Editor files if running the same project, only when switching.
    • Run Client from Editor does not save changed editors (Java, REXX, Text files, etc) in Eclipse.
    • Run Client now always executed in Eclipse and not Editor when launched from Editor (thus terminate Client not possible in Eclipse).
    • Launch of Client in Editor when connection to Eclipse is present runs the client from the Editor and not Eclipse.
    • Terminate Client menu item and toolbar item not enabled after Client launch (menu state not updated when client connects).
    • Client window sometimes not placed in foreground after launch.
    • NetPhantomClientImages.jar was signed with old Nexum certificate, causes Java Web Start to show message about invalid certificate.
    • Eclipse Samples workspace missing projects: authentication, gof, securelogin and terminal.
    • New Java Object in Eclipse needs more documentation, added NOTE in dialog box.
    • Quick Start: Java environment dialog box loses Eclipse executable setting.
    • Quick Start: Windows security messages when installed "eclipse\eclipse.exe" is to be launched removed (every time under Windows XP, can be turned off in Windows 7 or better).
    • SSL port configuration gets disabled when Editor is restarted, worked fine at first start after installation.
    • Fixed occasional NullPointerException when launching Client in Eclipse at org.eclipse.debug.internal.ui.DebugUIPlugin.launchInBackground, at org.eclipse.debug.ui.DebugUITools.launch...)
    • Listing REXX source files from Object definition dialog box doesn't show the "rexxsrc" directory.
    • Eclipse Samples workspace configuration not always working - completely re-worked: NetPhantom plug-in now imports the Samples and configures Server Debug configuration launcher the first time the Samples workspace is used.
    • NetPhantom.WSP workspace file should not be shown in Explorer.
    • Updated NetPhantom Quick Start JVM to 1.6.0 Update 39.
     
  • Editor: Division by zero for invalid font in Panel Editor
    A panel that is brought up in the Panel Editor could cause a division by zero error if a list box contained an invalid or missing font, typically a missing font remapping in e.g. PHANTOM.INI.
     
  • Editor: Resize of panel with menu bar error
    Resizing a panel that contains a menu bar in the Panel Editor does not cause the change flag to be set, i.e. the flag to require panel to be saved. The undo/redo functions are also malfunctioning, mostly undo of panel size change does not work. This leads to Undo error message boxes stating a CRC problem that in turn clears the undo history.
     

Version 6.00 RC1 Build 5996

  • Client Applet drag-drop installation exception
    When using desktop installation of a NetPhantom Applet, an exception could be thrown as below when the application is using an Application Panel. The exception does not affect operations, but is logged event mouse mouve.
      Exception in thread "AWT-EventQueue-2" java.lang.NullPointerException
        at se.entra.phantom.client.NNN.processEvent
        at java.awt.Component.dispatchEventImpl
     
  • Editor: Bar designer selects wrong entry for Object
    The Bar designer shows wrong selected Object in the combobox for a Bar Control when the Object is not present in the application. The first item in the list is always selected, and when it should have been >None< selected, empty string was presented.
     
  • Editor: Compile Distribution with Merge error
    Compiling a distribution with several application Jar files in pre- or post-build can overwrite wrong component when it is resource-based. Resource- based components are panels (.PHW), pop-up menus (.PHO) and bar files (.PHB and .PHB.ini). In rare cases, REXX object source files could also be affected.
     
  • Editor: Compiler error file not closed after read
    Files produced containing error output during compile operations resulting in errors are left open after reading the file to display the output in the Java console output. The files are however closed when Java garbage collection is run.
     
  • Editor: Change of application files incorrectly handled for launched Client
    A change of any of the application files .PHA (application file), .PHH (help ID table), .TT (tooltip file), .PHM (text file) and .PHX (translation table) was not correctly handled. Changes to empty content, e.g. when the files PHH/TT/PHM/PHX are removed or when the Pop-up menu and Object count became zero, the application still had references to the previous content. This only applies to launches of a Client from the Editor. If the project is closed and reopened, the error is resolved when the Client is launched again.
     
  • Editor: Change to empty file name for text and translation table
    Setting the file name to empty with an empty list in the dialog boxes for text table and translation table did not cause a change in the PHA file. The PHA file could therefore still contain a reference to the previous file name (PHM or PHX).
     
  • Editor: Unnecessary check for old file versions
    When opening a project, the Editor always checked for old file versions for PHW and PHO files, to see if the files needed to be converted to the current version, even if the PHA file was of correct version. This had no effect on operation, but slowed down opening of a project.
     
  • Client exception for tooltip text
    The exception below can rarely be seen in the Java console output of a Client. The exception did not affect the client at all.
      Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at sun.font.FontDesignMetrics.stringWidth(FontDesignMetrics.java:459)
        at se.entra.phantom.client.EntryFieldTooltip.run(EntryFieldTooltip.java:82)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
     
  • Monospaced font list for Terminal Window
    Several fonts are listed in the Fonts list box int the Terminal Window properties. Some of them cannot display the alphanumeric characters, such as the Wingding font. Specific checking of font rendering capabilities is now added, thus removing these fonts from the list.
     
  • Sample Phantom Session Booster missing files
    Two REXX source files were missing in the sample.
     
  • Server gets NullPointerException in ClientExecute when Client terminates
    If the Client is terminated during a call to ClientExecute, a NullPointerException is received in the server and displayed in the log. This did not affect the system apart of the error log.
      java.lang.NullPointerException
        at se.entra.phantom.server.VirtualSessionManager.clientExecute(VirtualSessionManager.java)
        at se.entra.phantom.server.REXXMigration.ClientExecute(REXXMigration.java)
        at se.entra.phantom.server.NetRexxMigration.ClientExecute(NetRexxMigration.java)
     

Version 6.00 Beta Build 5960 / 5.50 Build 5532

  • 3270: Erase unprotected character error
    Erase Unprotected Character removed the extended attributes propagated for the field at every character position erased. The extended field attribute should replace the extended character attribute. This error could be seen for routines such as Erase End-of-Field keystroke, Erase Input and datastream commands Erase All Unprotected and Erase Unprotected To Address. Normal 3270 applications remained unaffected, this is mostly a visual error seen only in the Terminal Window.
     
  • Editor: Object definition, listing REXX source file in wrong directory
    When pressing the "..." button to list REXX source files in the Object definition in the Panel Editor and the file name entry field is empty should list all files "*.*" in the current application directory. The dialog box showed a listing of the parent directory instead with the file name prompt set to the current directory name. This fix requires a new PHEDNT.EXE and PHNTGPM.DLL file.
     

Version 6.00 Beta Build 5950 / 5.50 Build 5530

  • Combobox corrections
    The following combobox corrections and fixes are implemented:
    • Host connected combobox without host conversion didn't always check the list contents option "Case sensitive".
    • Selection index value was not consistent on client and server for REXX or Java code.
    • Duplicate items in predefined combobox list was not supported and gave unpredictable results.
    • Typing characters in a combobox didn't always work as designed: fast typing several characters should select the first line matching those characters, slow typing should select the next entry beginning with the typed character (if end of list found, search starts again from top).
    • Drop-down list errors: when the drop-down list is visible, typing characters didn't always work, and if it did, the wrong line was selected or not scrolled into view when a vertical scroll bar is present, see separate fixes entry below.
    • Do not disable: option enabled still allows paste text into entry field, although the combobox restores the original text when it loses focus.
     
  • Editor: NullPointerException for invalid REXX object
    An invalid REXX object that could not be compiled properly could cause a NullPointerException after the error message shown below. An event log message "PhantomObject: Object TESTERR cannot be instanciated because class definition is not set" is now shown as is done in the Server.
      CWorker W Cannot load NetPhantom runtime file: Cannot load a Java Class for a REXX, DLL or Java object:
        rexx.TESTERR:java.lang.ClassNotFoundException: rexx.TESTERR
      CWorker E PhantomObject: New object TESTERR instance exception: java.lang.NullPointerException
        at se.entra.phantom.server.PhantomObject.callObjectDirectly
        at se.entra.phantom.server.PhantomObject.callObject
        at se.entra.phantom.server.VirtualControl.callObject
        ...
     
  • Editor: Host screens disappear when project is closed
    Any non save host screens which have not been save when a project is closed are lost, when selecting the menu item "File - Close project". This despite answering "yes" to the question whether to save it or not.
     
  • Editor: Application configuration
    The default values for the distribution parameters (Application Data, Color Conversion and Application Panel) are all "Current". This does not correspond to any value in the related combobox.
     
  • Editor: Focus not set to dialog box
    The focus is not always set in the dialog box in the Editor when it is shown from the Panel Part, e.g. Configure Project. This can be seen in Windows 7 if you select "Configure Project" from the "Panel Part" after having placed another window overlapping the Panel Editor. This window will flash on top of the Panel Part and then the dialog box shown, causing the Z-ordering to be restored correctly. The flashing behavior has not been resolved, but focus to the dialog box is correctly set.
     
  • Editor: Build distribution turns automatic building off
    After a build distribution action has been initialized, the button states are not correct in the Panel Editor. Furthermore, if the project had the "Build automatically" flag set, this is ignored after the build.
     
  • Editor: When files "rules" or "footer.nrx" are missing
    NetRexx Conversion files caused cryptic compiler error in the Java log window.
     
  • Typing characters in Combobox when drop-down list is visible doesn't cause selection in list
    When typing a character e.g. "A" in a combobox that is not editable when the drop-down list is visible should select the first or next entry in the list starting with that character. This error also applies to comboboxes with the option "Autocomplete" enabled.
    The fix implemented is a workaround for bugs in the Swing JComboBox and its pop-up JList: the JList items are not drawn correctly or have the correct selected index, and it doesn't scroll into view correctly when selected. This error can be seen in all Java versions, even Java 1.7.0 update 9.
     

Version 5.50 Build 5529

  • Build error in 5528
    A build error occurred in the 5528 release, causing it to show Build 5527, typically after applying the "patch5500to5528.jar" or "preinstall5528.jar" (after rename to "preinstall.jar").
     
  • RAPP Client interface call getLineItems skips empty cells at the end of a line
    When using the RAPP Client interface, the routine getLineItems skips empty cells for the last cells in list box lines.
     
  • Upgrade using preinstallNNNN.jar
    The Server Admin now accepts files named "preinstallNNNN.jar"; you don't have to rename them to "preinstall.jar" anymore.
     

Version 5.50 Build 5527

  • RAPP Client interface call getLineItems skips empty cells
    When using the RAPP Client interface, the routine getLineItems skips empty cells in a list box.
     
  • Calling REXX/Java function to Combo Box can get IndexOutOfBoundsException
    If a Combo Box has the option Host Conversion set and a REXX or Java function is called to retrieve the contents of the a line in the list and the Combo Box has received a new empty contents using PanComboFromFile, an IndexOutOfBoundsException can be thrown, and the client would exit.
     
  • Unbound combobox crashes the client
    A combobox defined to read content from an external file, will crash the client if the file is not available. This will happen when the combobox is clicked in the GUI. The server gets an IndexOutOfBoundsException and the client exits.
     

Version 5.50 Build 5525

  • Print Window function doesn't save selected printer
    When having multiple printers available for a client, the Print Window function doesn't save the selected printer (if not the default printer) between two Print Window operations. This could cause output to wrong printer in case the PRTDLG:1 option for NetPhantom Client is used.
     
  • Editor: change of host field name doesn't set change of host file (.PHE)
    Changing the host field name in the Editor and pressing OK doesn't cause the host field (.PHE) to require saving. A work-around is to modify a host field attribute at the same time.
     
  • Editor: undo/redo doesn't update host field dialog box
    The host field dialog box is not updated with the host field settings/attributes at undo or redo operations. A workaround is to click in the host field with the mouse.
     
  • Editor: edit screen identification and undo/redo
    When editing a screen identification that updates or removes non-matching screen identification rectangles, the operation(s) performed is/are not added to the undo/redo action history.
     

Version 5.50 Build 5524

  • Editor: changing a panel doesn't always cause reload
    In the Editor, changes to a panel does not always cause it to be reloaded when the application is tested, or sometimes when the project is built as distribution. A simple work-around is to reload the project by closing and reopening it.
     
  • Editor: edit screen identification, change of host file (.PHE)
    When editing a screen identification that updates or removes non-matching screen identification rectangles, the host data file (.PHE) change flag is not set, thus the file is not saved properly unless other host screen changes are also done.
     

Version 5.50 Build 5523

  • Dead-lock in client session threads at client disconnect
    A thread dead-lock can sometimes occur when a client session is disconnected. The two threads dead-locking are shown below. This error has been present in NetPhantom since version 2 and was detected with the new thread dead-lock functions implemented in NetPhantom 5.50 Build 5515.
    Thread[Client]
        se.entra.phantom.server.HostScreen.setCursor
        se.entra.phantom.server.HostSessionManager.onCursorPositionChange
        se.entra.phantom.server.HostSession.onCursorPositionChange
        se.entra.phantom.server.tn3270e.Display3270.moveCursor
        se.entra.phantom.server.HostSession3270.disconnect
        se.entra.phantom.server.HostSession.disconnect
        se.entra.phantom.server.HostSessionManager.disconnectAll
        ...
    Thread[CWorker]
        se.entra.phantom.server.VirtualSessionManager.doPanelAsyncUpdate
        se.entra.phantom.server.VirtualSessionManager.message
        se.entra.phantom.server.VirtualSessionManager.message
        se.entra.phantom.server.VirtualPanel.issueAction
        ...
     

Version 5.50 Build 5522

  • Host session state not updated at session disconnect
    When the terminal window is displayed and the session is disconnected from host, the session state remains e.g. in "Receiving data" instead of being updated to "Disconnected".
     

Version 5.50 Build 5521

  • NetPhantom Starter cannot update NetPhantomClientImages.jar
    The file NetPhantomClientImages.jar is sometimes locked by Java if version is 1.6 or better is used and cannot be updated from the NetPhantom Server. The error displayed is "Couldn't delete the local file NetPhantomClientImages.jar".
     
  • File transfer server to client locks Server Admin
    After a file has been transferred a modal confirm dialog is shown. After the closing of this dialog, the Server Admin window was locked showing the wait cursor.
     

Version 5.50 Build 5517

  • Stress tool simulated clients
    The StressNoGui tool only started half of the indicated number of clients.
     
  • Listbox truncates text
    The listbox component sometimes truncates texts in editable fields. This happened when the field gets focus for the first time and is edited.
     

Version 5.50 Build 5516

  • Exception in Server with Client connections using Stress tools
    The NetPhantom tools StressNoGUI could cause the Server to throw the exception below and reject the Client.
    ServerThread: Internal Program Error in thread: java.util.ConcurrentModificationException
        at java.util.AbstractList$SimpleListIterator.next
        at se.entra.phantom.server.ClientSessionManager.isMaximumClientConnectionsReached
        at se.entra.phantom.server.VirtualSessionManager.b
        at se.entra.phantom.server.VirtualSessionManager.processInboundTransactionQueued
        at se.entra.phantom.server.ClientSession.processClientTransaction
     

Version 5.50 Build 5515

  • Exception in Stress tools
    The NetPhantom tools Stress and StressNoGUI could receive IndexOutOfBoundsException at start.
     

Version 5.50 Build 5506

  • Event messenger
    It was not possible to save a new Event Messenger configuration. Trying to do so results in a StackOverflowError. Furthermore, when mails were supposed to be sent, an error message "EventID not available" together with a stack trace was entered in the event log and no mail was sent. Both these errors are corrected.
     
  • Java Console focus handling
    When opening the Java Console from the Terminal Editor, the console was not put in the foreground.
     

Version 5.50 Build 5502

  • Look-up of controls could cause client dead-lock
    When using REXX functions that do control look-up with a string such as "PanelID/*PANEL" could cause the server to enter an indefinite loop in rare circumstances when the panel contained one or more a notebooks.
     
  • Using the option serverGUI=1 in the Editor caused a NullPointerException
    Starting a Client from the Editor and the option "serverGUI=1" is set, a NullPointerException is shown in the console log window, but had no effect on the system.
     

Version 5.50 Build 5501

  • Java 1.7 in Editor and 1.6 on Server
    When using Java version 1.7 for the Editor and 1.6 for the Server, an application distributed from the 1.7-Editor would cause "java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0" when loaded in a 1.6-Server.
     
  • Hourglass or busy/wait mouse pointer when sizing a panel
    The hourglass or busy/wait mouse pointer is displayed when sizing a panel inside a browser or an application panel.
     
  • Editor and UNC file names
    Loading an older NetPhantom application in the Editor could cause a problem when converting the application if it resides on a network and addressed with UNC path name fails, for example \\fileserver\dir\path\application.ini.