Changes in SuperWaba 4.1 (note: in the sourcecode, it will be referrenced as 4_02) 1. fixed FontMetrics problem for kyocera 2. fixed support for CONTRAST and CLOCK in some Palm devices. 3. fixed problem in DateBook: if a date was deleted but archived til next hotsync, this returns false 4. new TabPanel.lastActiveIndex, which stores the last tab that was active. 5. added again onAdd/onRemove, two methods in the container class, called when the container is added/removed to/from a parent window. 6. new method Image.scaledBy(float scaleX, float scaleY) 7. fixed PopList.fullHeight when it was set but the lb was not bigger than screen 8. fixed ImageGetScaledInstance not copying the palette and transparent color of the original image 9. fixed problem in Edit that would occur if the text was set in the focusOut event when the abc/123 was pressed, a nullpointerexception would be thrown because the charWidths would be null 10. fixed Calendar when the current date was being drawn incorrectly in mono devices 11. fixed round border window corners (small pixels being drawn in different colors) 12. fixed GC problem when a chunk was being allocated for only one object. 13. fixed GC problem when the GC was called from malloc and the chunk being allocated was being freed before use. 14. fixed GC not freeing the whole chunk 15. added Pierre's changes to ByteArrayStream 16. removed a bad code at socket implemenation in wince. 17. added ByteArrayStream.available. 18. fixed device resetting when image was loaded. This was occuring when, during the image load, a GC occured and the oldGrHandle was collected in the GC. 19. added support for Exegen to /Z accept also full inf files. See SWCalc.inf 20. added StringBuffer.setCharAt. 21. added RadioGroup.getSelectedIndex 22. added a delay on Palm OS 5 to avoid the reset of the device when using Zire71. 23. fixed scrollbar not working with popupBlockingModal in Zire71. 24. Fixed bug in getScaledInstance, where the scaleImage could trigger the GC and clean up the object 25. scanned the sources to find problems with memory: first, some blocks i forgot to free if something went wrong; secondly, most important, push the objects after a createObject was called. This is extremelly important because the xmalloc routine may trigger the GC, and the object may be collected before being filled 26. forgot to add a piece of code to drawBitmap at the windows side. 27. added option /! to Exegen and Warp. This make the internal name of the pdb/prc to be swapped (the ! is removed from the pdb and placed in the prc). This is necessary when you want to update the application's pdb using a remote server. 28. fixed a very old problem, regarding the Control was not holding the GrHandle. Thanks to Peter Dickerson to point this out. 29. now Graphics.drawText(chars[]) is native: it does not create a new string anymore. 30. removed stack dump of AppExitException when exiting an app with a blocking modal window being shown. 31. made some small optimization at ListBox, and also in the VM. 32. improved image loading speed. About 40% speed gain. 33. disabled the dithering algorithm. This makes the image load 4 times faster 34. fixed sw not running on Treo 600. 35. added Benoit Cerrina fixes to waba.io.File at desktop 36. i had found an interesting behaviour with xrealloc that i would like to document. See this code: "iv->items = (*vmGlobals->xrealloc)(iv->items, &size)". The xrealloc routine failed (in first try), so the GC was called before retrying. In this GC call, the same iv->items was accessed again, and this caused a "trying to read an unallocated chunk of memory". So, it will be needed, in the future, to check all the reallocs to see if this can happen. Ps: this had occured in the PDBDriver. The IntVector that stores the used ResultSets of a table was trying to grow, then when the GC was called, a freeResultSet tried to remove itself from the IntVector, resulting in the problem. (guich) 37. now destroyHeapDB is called after the destroying of the libraries, because the libraries may still need it. 38. fixed problem in StringCopyChars (string.substring) when the len of the source array was smaller than the len to be transferred. fixed also a problem that would occur if one of the strings were null values. . removed the platform defines from SuperWaba.h and putted them in the file vm/TargetPlatform.h . added support for Windows CE 2.12 Intermec Norand 600 Grayscale series. 39. fixed problems in Dana. It now uses 4bpp screens, but requires upgrade to 1.2 ROM. 40. added Convert.tokenizeString(string,string). Thanks to Kathrin Braunwarth. . made Vector/IntVector set/get/setElementAt/getElementAt deprecated (although they will never be removed, its an important optimization issue) 41. fixed a strange ArrayIndexOutOfBoundsException that sometimes appears in MultiEdit 42. fixed problem of onExit not being called when a popupBlockingModal was used and the user switch out the app. 43. fixed problem in imageGetScaledInstance, in the low-memory part. Thanks to Peter Dickerson. 44. optimized imageGetScaledInstance when used to scale up. Thanks to Peter Dickerson for the tip. 45. fixed problem if PrintBoy dialog "out of range" appears, resulting in a reset. This may happen with some other system dialogs, under Palm OS < 5 only. . added Random.nextDouble 46. fixed problem in Windows CE/Pocket PC virtual keyboard. 47. now DateTime.equals check to see if the other date is instanceof DateTime (vik) 48. now Vector.find checks if the element is null (vik) 49. now at wince, file.readBytes return -1 in case of error instead of 0. 50. added support for international chars 51. forgot to comment. see 400_26 52. optimized applet drawings. 53. fixed app title in wince that was always with less one char. 54. fixed misalignment font problems in wince. 55. changed MCS width from 4 to maxWidth/2. 56. fixed problem in menuBar.setItems not updating the xpos. thanks to Marc-Antoine Parent 57. fixed draw/fill/Pie/Arc not being correctly drawn. 58. fixed fill/Elliptical/Pie outline color not being as specified in the javadocs. now the fore color is used to draw the outline 59. added Convert.setDefaultConverter 60. added Kambiz Darabi request to draw a rect border in MenuBar so that a ce menu can be created without problems . shrinked waba.ui.Welcome. 61. changed Warp to be able to include files ended with .gif, .png, .jpg, .jpeg and .txt . now Vm.attachNativeLibrary always returns true when running at the desktop 62. new method Vm.getFile: can be used to load a file that resides in the same pdb of the class 63. now ByteArrayStream.isOpen returns true if buffer is not null. 64. fixed window's title colors when border = NO_BORDER