Fixes in NetPhantom 6.50 Build 6500
These are fixes done since version 6.00 Build 6100 in chronological order.
Version 6.50 Build 6500
- Last opened panels not shown in Panel menu
The last opened panels is not shown in the Panel menu. This was the case in NetPhantom 5 where it stored the panel ID's in the application
INI file. In NetPhantom 6, such file is not present. A new file ".NetPhantom.app.ini" is added to store the panel ID's opened, along with
showing the last opened panels, as in NetPhantom 5.
- Editor freeze at start-up
On very rare occasions, the Editor could freeze up during start when an opened project contained previously opened panels and they
should have been displayed. A thread (AWT) dead-lock occurred in this case that sometimes could be released by changing project, if the
menu bar is accessible.
- Eclipse: initial project updates from Editor sometimes lost
If the Eclipse file system was not synchronized, the Eclipse plug-in could lose initial updates sent from the Editor because internally
the project was not yet opened in the workspace. Closing the project in question and re-opening it solved the problem.
If the updates were not lost, it takes a long time to be shown in the Explorer (all processor cores in the machine are now used optimally).
Both these problems could only be seen when working with many and large very applications simultaneously in a single Eclipse workspace.
- Editor automatic build, strange effect
When Automatic build was turned off in the Editor, it didn't inform Eclipse of changes in the current application (which can be discussed).
As the building of REXX and Java code is done in Eclipse, the Editor setting Automatic build now has no effect if Eclipse is connected and
using the project, i.e. it's just as if Automatic build in the Editor is turned on.
- Regression: Eclipse builder never completes or gets hung
The Eclipse builders for REXX and Java could sometimes get hung due to Markers creation and workspace dead-lock. When this occurred, it could
become difficult to e.g. exit Eclipse. Regression since 6115.
- Editor: Host field dialog box and multiple monitors
The Host field dialog box can sometimes be placed outside of the visible screen area(s), typically when multiple
monitors are used or screen resolution is decreased.
- Regression: combobox list contents updates are not shown
When the Server issues a new combobox list content, this new list is not shown in the combobox. Regression since Build 5530.
- Regression: combobox IndexOutOfBoundsException
In some cases, the combobox can cause an IndexOutOfBoundsException. Regression since Build 5530.
- Mouse press on notebook page tab
The notebook page tabs requires pressing the mouse on the text in order to turn page when the option Bold font is used. This is
due to Swing and JTabbedPane not working properly when mouse listeners are present in conjunction with Tab Components.
A work-around is now implemented to check for mouse press and to change the selected tab accordingly.
- Phantom Session Booster combobox files and distributions created with NetPhantom 6
Files updated with IBM iSeries and Phantom Session Booster were written in OEM code page instead of Ansi when runtime application is
compiled with NetPhantom 6. NetPhantom Server 6 had no problem running applications compiled with previous Editor versions.
- Terminal window hotspot color choice is not readable
The hotspot color choice cannot be configured, and the system provided colors are hard to read.
- Eclipse: minor fixes/enhancement
- Double-click "(Popup menus)" just expands or collapses the tree node: now Pop-up menus dialog box is shown in the Editor.
- Double-click "(Referenced images)" shows error message that image is not a file: now Available images dialog box is shown.
- Double-click "(REXX or Java Objects)" shows error message that Object is not found: now the List objects dialog box is shown.
- Explorer could begin looping updates, also Digest or References views, noticeable by a short time of hour-glass display. This consumed
quite a lot of CPU, but was running with very low priority.
- Problem marker "Unresolved item(s)" was not always removed when an error is corrected.
- Editor updates to Eclipse not always complete in some cases, and work-around to open/close project corrects the update.
- Difficult to know when an Eclipse project is ready, i.e. has received all information from the Editor: an hour-glass has been added to the project icon as decoration.
- The NetPhantom.project file that contains short-cuts to NetPhantom.PHE/PHA does not reflect project errors with a warning decoration.
Version 6.00 Build 6124
- Regression: changing panels with notebook NullPointerException
The Client could exit with a NullPointerException when changing between main panels containing notebooks. Regression since Build 6115.
- Regression: refresh ServerAdmin Server thread info dialog is not working
Refresh of the dialog box Server thread info accessed from the Threads dialog in the Server Administration program
does not work (since Build 6100) or gets a NullPointerException in the log (since Build 6115).
- Regression: multiple-line entry field not updated
The MLE control is not updated on the Client side. The text is set only at panel creation. Regression since Build 6120.
- Regression: Eclipse builder never completes or hangs
The Eclipse REXX builder never completes due to thread dead-lock. Regression since Build 6115.
- Regression: Eclipse skips Editor transactions for project updates
An Eclipse project could lose an Editor transaction during start-up of Eclipse workspace because the project is not loaded quick enough.
Regression since Build 6115.
Version 6.00 Build 6121
- NetPhantom Starter: specifying multiple servers for backup scenario
When specifying multiple servers (in order to use backup servers), the connected server overwrites the entry fileServer in client.pkg
thus next time the Starter is launched, only one server is used (the one that the Starter connected to).
The client package file must be edited to re-enter the file servers.
- Regression: count of combobox lines always zero
The count of combobox lines from the Java API getLineCount() or the REXX function PanListGetNum('COMBO') always returned zero.
Version 6.00 Build 6120
- Client (and Editor): Swing memory leak
Workaround implemented for quite large Swing memory leak involving mouse listeners and JFrame/JDialog in combination with JScrollPane or JScrollBar.
This memory leak affected freeing of memory of the panel control data in the Client. Working with a Client for a longer period of
time eventually consumed all available memory. As almost all panels contains scroll bars in some form (even hidden ones), this impacts every
panel created. This error is present in NetPhantom version 5 with later versions of Java 1.6 and 1.7.
- Client: undo/redo support uses less memory
The undo/redo support is now optimized for smaller memory consumption for entry fields (includes combobox, spin button, MLE and editable list box).
- Client: drag-drop for MLE
The multiple-line entry field was not enabled for drag-drop even if the Client settings were.
- Java API method setTooltipText(null) returns false
The method setTooltipText(null) for controls (except for the tree control nodes), menu items and pull-down menus always returns
false, but should have had the same effect as setTooltipText("").
- Server Administration - File manager
Corrections in the File manager for the Server Administration program:
- Large file support: file transfer of files larger than 2 GB added, previously, errors would occur.
- Sorting of file and directory names now done with the default Collator.
- Editor: Debug output not removed
Debug output not removed, logging "objs: FILENAME" when files are changed to update Eclipse. This cluttered the Java output console and
NetPhantom Console in Eclipse and slowed down the Editor-Eclipse communication.
- Editor: Last Jar-creation stage of Compile distribution
During Compile distribution, the Jar file was created in the final location, then tested for final validity and correctness. If e.g. a Java Object
could not be loaded or the wrong Object is loaded due to name collision (e.g. when using package-less class name), the created runtime Jar is
not correct but created the final Jar location. This is now changed to create a temporary Jar that is checked and when validated, copied into the final location.
- Editor: MLE and vertical scroll bar
The data written by the Editor for the multiple-line entry field (MLE) was not correct, e.g. the vertical scroll bar was always present even if the option
is turned off. The Panel Editor shows the correct settings, thus this only affected application that were compiled with this Editor version 6.
A recompile of the applications with an Editor Build 6120 or later is required to fix the problem of the created application Jar.
- Editor: minor fixes
- The initial dialog box for Compile distribution that performs a quick-check if the application can be compiled at all doesn't reload files and reports
errors when Build automatically is turned off or when an Object was just refactored from Eclipse. Performing Compiled distribution again works however.
- Removed "duplicate" Eclipse file markers for problems in the application, there was often two, one that shows the detailed error and a second one "Unresolved item(s)"
to show error in the Explorer. Only one is kept now, preferably the detailed error if it exists, otherwise the generic "Unresolved item(s)".
- Files deleted in the current Editor project outside of Eclipse is not informed to Eclipse from the Editor automatically, you had to press F5 (Refresh) to update Eclipse.
- Fixing a project problem with an unresolved file (e.g. by adding a missing combobox file) did not always remove the file marker and could still show a small warning in Explorer.
A Refresh, Clean or Close+Open project corrected it (in order of severity).
- Deleting a file in a project did not always cause the builder to check for updates in Application references, and if required, inform Eclipse of the changes.
Version 6.00 Build 6115
- Client crashes when using merge-on-the-fly when switching application
When a client runs with several runtime applications at the same time using merge-on-the-fly, and application switching happens at
the same time as showing or hiding the terminal window (i.e. the terminal application), pop-up menus could become mixed up between the runtimes
due to timing issues. When this occurred, the client would continue to run as if nothing happened, and could crash much later when switching panels
with the logged error exception:
Internal error in NetPhantom Client. Details: java.lang.InternalError: Pop-up menu not found!
at se.entra.phantom.client.bn.a
at se.entra.phantom.client.bn.a
at se.entra.phantom.client.PPanel.createBaseContents
- Editor: JNI memory leak
Corrected a JNI memory leak.
- Editor: high memory usage
The Editor consumes a lot of memory when switching applications and launching clients. After repeated project switching, the
memory may be fully consumed, not due to memory leak. This was due to the Editor caching the project data for faster access. This is
now removed, i.e. not cached, and closed projects frees memory completely. This results in the memory requirement to be typically
200 to 300 MB for a large standard application when Eclipse is connected.
- Changed implementations from Runtime.exec ProcessBuilder
As the new JVM's 1.6 and 1.7 now stops supporting Runtime.exec with quotes, all calls to execute a process when a single
line of command with options is used are changed to the ProcessBuilder implementation. Errors from e.g. Java 1.6 Update 45 such as
"java.lang.IllegalArgumentException: Executable name has embedded quote, split the arguments" are then avoided.
- Eclipse: REXX and/or NetRexx errors do not persist when restarting Eclipse
Compiler errors in REXX and/or NetRexx generated during a build operation are lost (i.e. do not persist) when
closing and reopening an Eclipse workspace. If requesting a Clean operation, the builder recreates the error markers.
- Eclipse: Explorer shows unresolved images in application
The application file NetPhantom.PHA in the Eclipse Explorer view shows unresolved images, but without the
".gif" file extension, thus unresolved. The images now includes the file extension and are not shown as unresolved.
- Editor: Eclipse workspace updates without file refresh
Changes in the Editor did not always cause updates to be correctly reflected in the Eclipse workspace.
- Editor: Application references NullPointerException
A NullPointerException could occur when bringing up the Application References from Eclipse or the dialog box in the Editor when
a pop-up menu was defined with a Next panel that is not found.
- Editor: very large projects updates Eclipse workspace slowly
Having very large projects (more than 2500 panels) causes up to half a minute delays before the Eclipse workspace is updated
when panels are changed in the Editor. This is now improved resulting in the standard delay of 2 to 3 seconds. The initial
project information can still take up to half a minute due to the massive information (huge tree and many references).
Tuning the memory environment in both Editor and Eclipse is recommended (adjusting the maximum heap size to 900 MB for both
Editor and Eclipse, i.e. -Xmx900m in PHANTOM.INI and eclipse.ini). This decreases garbage collection time in the Java VM.
- Editor: Combobox file references missing
Regression: referencing for Combobox Files is broken, both inbound and outbound. This is also seen as missing Explorer text
"(Combobox file)" as comment besides the file name for combobox files being used in the application.
- Quick Start: installed shortcuts launches system "javaw.exe"
The NetPhantom Quick Start installed icons launches javaw.exe from C:\Windows\System for a 32-bit OS and C:\Windows\SysWOW64
for a 64-bit OS, where it should really launch the javaw.exe from C:\NetPhantom 6 QS\jdk1.6.0\jre\bin instead in order
to launch the correct Java version.
- Editor: minor fixes
- Application references dialog box did not always refresh the application files if Automatic build is not turned on before showing the results.
- Project refreshes sent to Eclipse more than once when not required causing unnecessary workspace updates.
- Double-clicking in Eclipse to open Panel Editor items could be "queued" in the Editor, followed by an error message
box of the Undo engine for the panel. This typically occurred for very large projects when updates were processed in the Editor
waiting to be sent to Eclipse, at the same time the Editor felt "sluggish".
- Eclipse initiated operations are queued during Compile distribution, should show error message instead.
- Renaming an Object or pop-up menu initiated from Eclipse or from a Panel Control using Edit Object definition pop-up menu item can cause
the renamed Object not to be found.
- Panel message box does not show referenced host field in Eclipse Explorer and Digest/References views.
- Bar files and panels updates Eclipse Explorer unnecessarily.
- All pop-up menus in the application do not always show a description, only the ones that are somehow connected do.
- Application references and Eclipse sometimes lists Next panel strings starting with '*' (e.g. *COPY) as Unresolved for menu items.
- NetRexx compiler did not clean up nicely, statically allocated object left causing pollution of memory.
- REXX generated directory "gensrc" and REXX source directory "rexxsrc" files "*.rexxerr" not cleaned when performing Editor
command Clean and an Eclipse connection is not present.
- Hidden panel not included in Application References (host screen and Object references).
- The Explorer warning decoration on a file due to unresolved items doesn't always correspond with its children state after Eclipse
change operations such as file rename.
- Notebook page did not include a panel reference for Explorer or for Application references.
- Regression: double-click in Digest or References views only opens file editors and not the selected item in NetPhantom Editor.
- Items in Digest or References view heading without text showing only an image (e.g. a Notebook) doesn't show the type "(Notebook)" text
as additional informational text.
- List box in Panel Editor shows preview lines in reverse order (the list box ID is the last line).
- Dialog box Available images only lists images for supported file extensions in lower case, and image preview can show "Cannot load image" or
wrong image (taken from classpath instead of the file or Jar file directly).
- Regression: push button images referencing broken (seen in Explorer under Application as missing images and in the Application references dialog box).
The push buttons in the Explorer tree shows the referred image however.
Version 6.00 Build 6102
- Minor Editor fixes
Corrected minor problems in the Editor:
- Launch Client from Editor did not always initiate application properly.
- Default URL in application and/or Java configuration not consistent.
- Closing a dialog box did not always update menu and toolbar state in the Panel Editor (activating menu bar sets state correctly).
- Maximize minimized edited panel in the Panel Editor shows the Panel Definition, but should restore the panel instead.
- Selection of External Image file with the "..." button causes image preview not to be updated.
- Menu item Help - Local web site always opened http://localhost and did not take started ports into account (e.g. port 80 is disabled).
|