<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.7 [en] (WinNT; I) [Netscape]">
   <meta name="Author" content="IBM">
   <title>Eclipse Platform Build Notes - SWT</title>
</head>
<body>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 3.0 005 - Tuesday May 20, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
30434:  BIDI: StyledText to support RIGHT_TO_LEFT orientation  
<br>35657:  Eclipse crashes and throws exception when starting up in Chinese locales  
<br>37505:  GC.setXORMode() not applying to drawString/Text (BBAWT)  
<br>36934:  Invalid thread access error on creating a font in Motif (BBAWT)  
<br>34648:  [DND] file deleted when dropped in editor on Solaris  
<br>37479:  BIDI: Drop-down list of CCombo doesn't inherit it's orientation from CCombo.  
<br>37498:  BIDI: rtl-oriented TableCursor set next column instead of previos and vice versa, when it uses right and left arrow keys.  
<br>37519:  Bug in Decorations.setPlacement method  
<br>35804:  Cheese in Text  
<br>37164:  Crash when opening a MessageBox on a Text focusLost event  
<br>37497:  Creating of new Image is failed in some cases.  
<br>28525:  DragDetect required  
<br>4734:  drawText() does not respect setXORMode(true) (1GFQI15)  
<br>37138:  GC.drawImage throws Exception with boundary conditions (BBAWT)  
<br>37140:  GC.drawImage throws SWTError with boundary conditions (BBAWT)  
<br>37198:  gtk2 im - imhangul (korean IM) work bad in Eclipse  
<br>21384:  GTK: Random X Window System "Bad Implementation" error(BBAWT)  
<br>37591:  ImageLoader.save for GIF saves in compress GIF format  
<br>33496:  Multi-line text issues too many mouse track events on Photon (BBAWT)  
<br>34185:  Native Tree: Clicking into selection doesn't reselect  
<br>28529:  ProgressBar direction wrong + cheese  
<br>37564:  Remove dependency on X11 in Program  
<br>37303:  Remove X dependency  
<br>37881:  StyledText - NPE when using RIGHT_TO_LEFT style with StyledText on Linux  
<br>36450:  [Key Bindings] Only KeyUp event for Alt+[Shift]+<char> on Windows  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 3.0 004 - Tuesday May 13, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
29783:  BIDI: drop-down list of rtl-oriented CCombo is displayed in the wrong place.  
<br>37299:  BIDI:Caret cheese when resizing RIGHT_TO_LEFT StyledText  
<br>37293:  BIDI:GC.drawImage(0, ... draws at 1, ... when using RIGHT_TO_LEFT
<br>37285:  Add Tiff support  
<br>34516:  Cheese in ProgressBar  
<br>32352:  Display of SWT tabbed panes do not redraw during changes  
<br>36649:  Error Icons Draw Through  
<br>33083:  JUnit View not being updated early enough  
<br>29332:  new GC(this) produces a GC that does nothing  
<br>31011:  Paint example does not draw correctly  
<br>27474:  Provide a SWT Java Web Start extension  
<br>37172:  TableColumn align style has no effect on GTK  
<br>31783:  Text doesn't honor visibilty  
<br>29383:  Tree and Table - no gray check boxes on GTK  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 3.0 003 - Tuesday April 6, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
36993:  Tracing options not displayed in Run-time Workbench run configuration  
<br>29781:  BIDI: Lack of leading and trailig styles for alignment of widget's contents.  
<br>25623:  can't select items in Tree widget of local history  
<br>27777:  Combo box pixel corruptions  
<br>37102:  Eclipse doesn't start  
<br>37076:  Gtk CRITICAL warning gtktreeview.c  
<br>37202:  GTK Exception on gtk_progress_bar_set_fraction  
<br>31941:  gtk_progress_bar_set_fraction - crash when creating a class under latest Debian GTK 2.2 / Crux Theme  
<br>37075:  I20030429: no swt-carbon-3002 in java.library.path  
<br>18701:  image check box buttons are clipped  
<br>16814:  J2ME SWT - 3 classes not CLDC compliant  
<br>19824:  Needed multi-monitor methods.  
<br>37212:  Order sependencies in setting up menus  
<br>28589:  RedHat 8.0 - DefaultInformationControl hangs workbench  
<br>27202:  Running ControleExample with Device.DEBUG flag on  
<br>37065:  Spacing bug in RowLayout  
<br>31906:  The file dialog widget does not provide a way to programmatically change the type filter.  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 3.0 002 - Tuesday April 28, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
36910:  Setting font before setting text on Motif causes X error (BBAWT)  
<br>29765:  BIDI: ToolTiptext do not have Right to left Reading order  
<br>34365:  Display problem in the editor  
<br>35319:  TVT21: Cannot input characters in German for motif   
<br>36433:  Allow Cursors to be created with Images that have a depth >1  
<br>36746:  An overloaded glCallLists() would be useful    
<br>29786:  BIDI: keyborad's left and right arrows move focus between tabs of rtl-oriented CTabFolder in the opposite direction.  
<br>36684:  BIDI: LTR-oriented MessageBox can't be created, if it's parent has RTL orientation.  
<br>36679:  BIDI: PopupList can't be created with explicitly assigned orientation.  
<br>29787:  BIDI: problem with keyboard's left and right arrows, when them used to expand or to collapse rtl-oriented TableTree.  
<br>36276:  BIDI: When UpDown control of rtl-oriented TabFolder is used for scrolling tabs, they are scrolled in the wrong direction.  
<br>36727:  Can't use OpenGL in a plugin  
<br>22943:  Cannot cleanly kill an swt task  
<br>36209:  Copied text to on the clipboard is occasionally null terminated  
<br>34982:  Custom BusyIndicator - no hourglass cursor  
<br>36928:  Custom cursors are not working  
<br>36386:  Eclipse crashes on exit  
<br>7440:  Glitch on Navigation Bar on PocketPC while closing j9 running SWT app  
<br>36915:  java.lang.OutOfMemoryError when creating org.eclipse.swt.graphics.Image  
<br>36838:  OpenGL: GLYPHMETRICSFLOAT cannot be internal  
<br>36955:  ScrolledComposite unused background is painted wrong.  
<br>36562:  [CVS] commit log dialog doesn't set focus correctly  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 3.0 001 - Tuesday April 22, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
<br>7757 Packages view: title and tooltip should not used compress...  
<br>9366 Workbench appears with 1st toolbar item showing hover-ove...  
<br>19228 Try to control motif focus reassignments  
<br>19708 widgetIsDisposed for tootip text  
<br>20279 Division by zero when showing a zero-sized tracker  
<br>21283 Ctrl+/ performs undo, not comment, in emacs bindings  
<br>23847 Keyboard navigation doesn't work on Mac  
<br>24563 DBCS Support for Motif and GTK  
<br>28530 Cheese when moving Sash  
<br>28537 Task view help is wrong if previous focus was editor  
<br>28561 Can't arrow around table  
<br>28800 Switching to a not yet activated perspective doesn't set ...  
<br>28850 setFont() on Text control has no (visual) effect  
<br>29784 keyboard's left and right arrows change value of rt...  
<br>29788 rtl-oriented Tracker has wrong behavior.  
<br>32602 After pressing Cmd-F8, clicking will kill Eclipse  
<br>32965 Move dialog: tree doesn't have focus  
<br>33068 [JUNIT]Label.setAlignment not implemented  
<br>33100 [JUNIT]Table.getChildren does not return an empty array  
<br>33316 FontDialog needs FontData[] API  
<br>33336 Popup menus dont work on PocketPC (bbAWT)  
<br>33492 Addition of tasks to task window is too slow  
<br>33809 Request: add new event SWT.MenuDetect  
<br>33903 [SWT Examples] OLE Web browser view does not open  
<br>34122 Control Example  
<br>34270 Single-click in popups dismisses them (was: Quick F...  
<br>34283 Mac: No task description for progress monitor in wizards  
<br>34445 Reverse sort for AddressBook example  
<br>34446 [Tasks] Focus lost when switching form editor to Tasks View  
<br>34618 Missing keyboard focus  
<br>34940 Eclipse launcher crashes on Sun J2SDK 1.4.2-beta build18  
<br>34996 Tab Event weirdly handled in motif  
<br>35012 Setting the toolbar's background on RC2 doesn't work.  
<br>35090 Outline Popup: Enter doesn't work in tree  
<br>35210 KeyListener doesn't understand CTRL and ALT as a stateMask  
<br>35244 [Action Sets] Hierarchy fast view causes unhandled except...  
<br>35254 Unhandled exception caught in event loop. Reason:Widget i...  
<br>35607 Sash missing cursor in Structure Compare of the Sync view  
<br>35774 Unexpected Exit: Error: Object "" does not have windowed ...  
<br>35837 [DirectoryDialog] There is no disk in the drive. Please i...  
<br>35842 Outline view crashes on WinXP & Win2K  
<br>36000 [StyledText] ContentWidthCache initialization  
<br>36192 Native crash when closing tree nodes  
<br>36270 BIDI: Some custom widgets can't be created with explicitl...  
<br>36612 After install/update: no icon in dock - no focus  
<br>36644 Can not set the background color for ToolBar  
<br>36722 Mnemonic keys are not working for ToolItems  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 033d - Monday March 24, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
8442: NullPointerException and hang on startup in GTK Eclipse  
<br>17359: NLS: No Group2 input  
<br>26078: TabFolder.getClientArea() not correct
<br>34940: Eclipse launcher crashes on Sun J2SDK 1.4.2-beta build18  
<br>35434: [Motif] GC.getFontMetrics() causes VM to crash when font is really small
<br>35596: Event Processing issues under Photon
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 033 - Tuesday March 18, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
30768:  Performance - Typing in Java Editor is unacceptably slow.  
<br>32204: Signal 11 at at org.eclipse.swt.internal.gtk.OS.gtk_progress_bar_pulse(Native Method)  
<br>32602: After pressing Cmd-F8, clicking will kill Eclipse  
<br>33017: VM crash when pressing enter in table cell editor  
<br>33343: New file wizard freezes Eclipse UI  
<br>34166: Disabling, then enabling CVS decorators produced NPE  
<br>34183: The layout of the package explorer cannot be changed  
<br>34248: DBCS: shown up GnomeVFS-WARNING messages  
<br>34418: Crash when running DNDExample  
<br>34463: confirm exit checkbox cannot be selected  
<br>35022: Motif does not send dragFinished event on aborted drags  
<br>26388: Package Explorer does not position on files  
<br>30073: Graphical Editor is not refreshed properly when scrollbars disappear  
<br>31026: Hang on Linux  
<br>32851: Can't remove external tool builder after deleting launch config  
<br>33099: Context menu 'Display' doesn't work  
<br>33713: JRE popup menu in Run configuration dialog not reliable  
<br>34093: Menu missing items  
<br>34428: [Motif] Tree and Table views not getting proper selection  
<br>34633: Table with CHECK flashes cheese  
<br>34815: Cheese in CTabFolder widget  
<br>34879: Calling ScrollBar.setVisible() when a text widget has focus causes a focus lost event on the text widget
<br>25671: Javadoc for class swt/widgets/Dialog missing &lt;pre&gt;
<br>28644: Bold font in label results in missing character  
<br>29486: Keys need stronger filtering.  
<br>32424: [PROGRAMS} Gnome - Program.getPrograms needs to be updated  
<br>32947: Change method signature dialog too big  
<br>33480: Text cut off in Mac in labels.  
<br>33700: Running out of handles on Windows XP  
<br>33822: Strange scrolling of native table  
<br>34036: Native crash on dismissing help window  
<br>34512: ComputeSize of table and tree too small  
<br>34569: BIDI: Styled text change the characters with Large fonts  
<br>34649: TabFolder title does not handle mnemonics properly  
<br>34724: ControlExample  
<br>34835: Widget "default" styles should be reflected in style bits  
<br>34935: Missing border on toolbar  
<br>34983: Native drag and drop doesn't work under linux  
<br>35038: Refactoring dialog (Extract Local Variable) to big  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 032c - Tuesday March 11, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4434:  GPF when running SWT Tree code (1FNI25V)  
<br>23385:  Table vertical column separators redraw incorrectly on MacOSX  
<br>31685:  Entire Eclipse Platform loses focus and goes into the background...  
<br>33834:  [Viewers] NPE in TreeViewer  
<br>34181:  Ctrl-Click doesn't select underlying item before bringing up context menu  
<br>34188:  Progress bar in dialogs doesn't show task information  
<br>34614:  Mouse pointer does not change in table header  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 032 - Thursday March 06, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4592: multi select behavior for file dialog (1G7HZ2Q)  
<br>4659: Double-clicking on fixed size column header resizes it (1GE3WN6) 
<br>4843: EC DCR: Add keyboard support for multi-select to Tree (1GKMHS5)  
<br>4847: Property dialog put behind workbench window (1GKRN9Z)  
<br>7159: Missing Javadoc for Event fields  
<br>7712: No scroll bars in Microsoft Word documents opened from the workbench  
<br>12597: Cannot change OLE Event's VARIANT argument which has [out] directional attribute in IDL  
<br>14329: Modal dialog doesn't disable column resizing  
<br>16886: Address Book bug in the open a File dialog  
<br>16901: NPE removing expression from expression view  
<br>18059: RH7.3 clipboard problem  
<br>18810: Extra unprintable character in copy buffer  
<br>19896: Key up event says Ctrl is released when it's not  
<br>19922: Menu bar items get added one at a time when editors are switched  
<br>22416: NT4: Need context menu on window scroll bar to keep its consistency on Win2k  
<br>23419: [OLE] Do not get scrollbars in Excel  
<br>23841: Eclipse UI does not follow Mac L&F guidelines  
<br>23959: Use native Table and Tree  
<br>24393: DCR - Need to support Mac command key in SWT  
<br>24431: Eclipse M1 Under OSX crashes when using VirtualDesktops  
<br>25383: Variant needs a dispose method  
<br>25604: Quick release upon start of drag hangs eclipse with pointer grab  
<br>26051: [Workbench] Main Eclipse window activates itself very often  
<br>28514: Character positions differ between selected and unselected text 
<br>28982: Toolbar color problem when using the manifest in XP  
<br>29027: Add "delete previous word" and "delete next word" actions to eclipse editor  
<br>29330: JavaDoc does not match Windows - FIX LEFTTORIGHTdoc  
<br>29387: no lines in Table on GTK  
<br>29471: GP - XtDestroyApplicationContext - Closing M4 will sometimes crash the VM  
<br>29717: [PERFORMANCE]SWT Motif exteremely slow with LANG en_US.UTF-8  
<br>29814: GP - No core available - GPF on win2k  
<br>29911: TableEditors not displayed while scrolling.  
<br>30427: HANG/GP - XtDispatchEvent - Eclipse keeps locking up  
<br>30618: ctrl-o not working  
<br>31525: eclipse uses 100% CPU with gtk 2.2.1  
<br>31684: Unable to drag views.  
<br>31717: Unreproducible GP/Hang  
<br>31834: Label and Combo don't align well  
<br>32122: Cannot insert lines into new file code template (regression failure) 
<br>32286: ControlExample Button Tab - changing styles resets button orientation  
<br>32359: No Parent + SWT.APPLICATION_MODAL shell not modal  
<br>32408: I20030220 on MacOS X has generic application icon  
<br>32482: No F1 help on MacOS X  
<br>32734: NPE while viewing variables from debugger  
<br>32856: [Cell Editors] Can not see what value I am typing in the Properties 
<br>32954: [KDE] Programs - fix library build  
<br>33046: DBCS: Can type into read-only Text  
<br>33057: RC1 No caret in editor  
<br>33348: ControlExample: wider than screen, too many tabs  
<br>33580: Scrollable.WM_MOUSEWHEEL uses wrong variable for horizontal scroll  
<br>33590: RC1: "Application Modal" shell style behaves incorrectly  
<br>33592: Fix specification for event.character  
<br>33593: RC1: Toolbar foreground color changes ignored  
<br>33747: NO_TRIM window gives no resize feedback  
<br>33776: Resistering TraverseListenter with Shell changes tabbing behavior.  
<br>33813: List doesn't send out selection events for arrow keys  
<br>33855: Text Cursor Invisible in RC1  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 031 - Thursday February 27, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
16808: Icon in Windows taskbar incorrect  
<br>24494: Incorrect i18n char encoding in text areas  
<br>26541: Exit the Workbench: crash after saving the workspace  
<br>28643: Setting label's background color has no effect  
<br>28845: Refresh tab layout incorrect for lower composite  
<br>29198: Difficult to change character case of cached input values  
<br>29837: [Contributions] Combo control does not show on GTK toolbar, works fine on Win and Motif  
<br>30377: No caret in Java Editor  
<br>30905: Add Menu.setRedraw(boolean) API  
<br>30924: StyledText - StyleRange hashCode throws NullPointerException  
<br>31039: Eclipse does not responde when dialog is opened.  
<br>31187: Selection by mouse drag is out of kilter  
<br>31382: New Folder and New File dialogs UI problem  
<br>31833: wrong background for separator label on MacOS X  
<br>31857: No icons in Labels  
<br>31866: Scrolling in Readme editor is delayed  
<br>31946: Moving CoolBarItems leaves temporary cheese  
<br>31950: StyledText - Shift+UP broken in StyledText control  
<br>31973: GB18030: After created a GB18030 named class, Eclipse for Motif crashed when exiting.  
<br>32360: Embedded display not waking on new Photon events (BBAWT)  
<br>33022: NPE in FontDialog  
<br>33030: Arguments tab 'shows through' Main tab on OS X  
<br>33063: [JUNIT] Caret.setFont  
<br>33119: nullpointer dispose table column  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 030 - Tuesday February 18, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
17057: Outliner: focus causes select causes horizontal scroll  
<br>21469: Accessibility - Tabbing causes a button to become the default
<br>22767: toolbar looks very ugly with Win XP's lnf (using manifest file)
<br>23370: CLabel needs to allow transparent background for Mac OS X  
<br>28831: Displays ligature for fi & fl  
<br>29100: Mouse wheel scrolling not working in editors  
<br>29879: HANG - gtk_main_iteration - Eclipse Freezes moving between perspectives
<br>30055: DBCS: font rendering quality issue on motif  
<br>30570: DBCS - GB18030: Input GB18030 characters as run arguments cause eclipse for motif crash
<br>31568: TableLayoutComposite and Table.showItem don't mix  
<br>31686: Wrong margin correction in widgets.Text.computeSize(int, int, boolean)
<br>31823: Clicking on partially obscured tab should scroll it into view
<br>31855: [Editor Mgmt] Close buttons in editor get cut off  
<br>31880: Layout bug in commit menu  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 029 - Thursday February 13, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
6230: ImageLoader: 32-bit colour depth unsupported  
<br>23472: Xlib: unexpected async reply (sequence 0x922d2)!  
<br>23842: "banded" default background look shows through where it shouldn't
<br>25446: Tree Shift-Click not working when item collapse changes selection
<br>26381: OpenType: Key Navigation  
<br>29456: GP - XmDSIGetChildPosition - Problem in Shutdown  
<br>29607: [Cell Editors] usability: ComboBoxCellEditor unusable on GTK  
<br>31009: ACC - I20030205 accelerators issues  
<br>31017: HANG - Hang on import external plugins  
<br>31267: Label and text box get the wrong order  
<br>31448: BIDI - Bidi enablement for StyledText - ArrayIndexOutOfBoundsException when highlighting a blank line
<br>31513: CTabFolder's close box highlight gets clipped at bottom  
<br>31566: FontData "equals()" and "hashcode()" methods do not consider height of the the fontdata
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 028 - Thursday February 6, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
23262: WebBrowser crashes when viewing Shockwave  
<br>25736: Memory leak while using OLE automation  
<br>29265: Control.setEnabled() not implemented properly on GTK  
<br>29593: Contextual menu too short near bottom of menu  
<br>29931: Mouse clicks are unreliable  
<br>30403: CTabItem close box shifts by 2 pixels when tab selected  
<br>30443: Menubar of SWT standalone applications is empty  
<br>30945: Change in mouse clicking behaviour makes FastViews unusable  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 027 - Wednesday February 5, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
20755: TVT2:  truncated text in dropdown for Dependencies tab in manifest editor
<br>22759: Input method does not work on GTK/GTK2  
<br>27180: Unable to copy and paste in editing java file  
<br>27183: Mouse drag select produces crash  
<br>28419: Crash when closing shells  
<br>29777: DBCS: Can't drag a file into Run-time workbench  
<br>30212: Read only text widget : can't copy selection  
<br>30401: SWT standalone examples can't come to foreground  
<br>30452: Mouse gets warped to upper left corner of workbench window on actions
<br>30500: "roaming" focus  
<br>30537: setSelection(allItems) not working on GTK  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 026 - Tuesday January 28, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
14814: Button mnemonics are not shown properly on Windows XP  
<br>24333: DCR - Tree.getTopItem/setTopItem  
<br>24489: Tab cannot get focus when child-composite has scrollbar  
<br>24815: Cannot launch eclipse: javacore dump  
<br>29142: Hyperlinking from stackdump locks up Eclipse  
<br>29191: Tree - no gray check boxes on MAC (carbon2)  
<br>29426: DBCS:Copy/Paste DBCS failed between eclipse and gedit  
<br>29428: DBCS: Pasted string can't be shown correctly in Search dialog
<br>29910: Checkbox not displayed until table scrolled  
<br>29966: No more handles on startup  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 025 - Tuesday January 21, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
25030: (BBAWT) Image Analyzer fails to load a .png file  
<br>25359: RuntimeExceptions thrown from OleListener.handleEvent crash VM
<br>27099: StyledText - Change CTRL key bindings to MOD1  
<br>27369: No more handles error  
<br>27822: Package Explorer allways centers opened file  
<br>28062: Text field in dialog doesn't get focus  
<br>28743: Trying to see test hiearchy freezes eclipse [JUnit]  
<br>28745: Esc does not cancel tracker  
<br>28967: [Editor Mgmt] no close button on last editor when editors drop-down is active
<br>29427: DBCS: Can't input DBCS characters in Search dialog  
<br>29496: Cut & paste does not work in dialog text fields  
<br>29503: DBCS:Can't sort by clicking "Description" on "Task View"  
<br>29599: DBCS: upper bar character will be padded  
<br>29608: DBCS: Selected DBCS Classpath can't be shown  
<br>29611: DBCS:Can not input Hangul(Korea font)  
<br>29612: DBCS:Browse function of "Export" doesn't work  
<br>29614: DBCS: Unable to get "Import" contents location with "Browse" button
<br>29664: SWT Styled Text Wrapping Doesn't Use Font Size Correctly  
<br>29685: DBCS: Candidate Selection Window will be disappeared at DBCS composition
<br>29730: RowLayout.computeSize provides wrong parameter to layoutVertical
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 024 - Tuesday January 14, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
21063: Can't drop views over some widgets  
<br>21561: Keyboard navigation in tree widgets on Linux  
<br>25619: OleControlSite event listener problem  
<br>25843: Info pops do not work for Red Hat 8.0.
<br>27677: [Key Bindings] ctrl-f7 not working  
<br>28879: [Navigator] right-clicking a file doesn't allow me to open it
<br>29208: Gtk directory dialog behaves like a file dialog  
<br>29252: Accelerators are not disabled when the toolbars and menus are on GTK
<br>29302: Slider and Scrollbar handle many boundary cases wrong in set* methods
<br>29334: Make javadoc available for download  
<br>29408: Invoking List.select(*) before open() does not select correct item
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 023 - Tuesday January 7, 2003

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
24283: Default button in the dialog get the enter when typing in japanese
<br>25486: Eclipse fails with 'no free callback slot'  
<br>26057: StyledText - cleanup passing around of fontdata  
<br>26079: Use PfLoadMetrics() to speed up text extenting
<br>27869: StyledText overuse of Font.getFontData  
<br>28286: BBAWT: Incorrect palette/color returned on 32-bit true color display
<br>28382: Extra separator line drawn in emulated CoolBar  
<br>28498: Help menu is confused  
<br>28607: Progress bar doesn't finish in PDE import wizard  
<br>28658: No context menu in perspective bar  
<br>28683: Ctrl-Click in TreeView loses selection  
<br>28701: Method "assert" declared in org.eclipse.swt.tests.junit.StyledTextContentSpec
<br>28719: Scrolling in Welcome editor is not 'live'  
<br>28812: Mouse cursor changes to arrow after hovering a hyperlinked indentifier
<br>28833: Eclipse no longer responds to 'Quit' AppleEvent  
<br>28835: Cursor doesn't change to arrow shape when over text scrollbars
<br>28991: TabFolder.computeSize is grows each time is it called  
<br>29017: ScrolledComposite always makes it's content  bigger on resize
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 022 - Tuesday December 17, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
21409: IllegalArgumentException when editing Java source  
<br>21993: Can't change font sizes  
<br>22305: Launch configuration pane gets visually messed up and ref...  
<br>23830: Out-of-box experience with the Mac.  
<br>23843: Chevrons show up in default layout of Java perspective  
<br>23844: Label doesn't wrap text initiallly  
<br>23850: Missing scrollbar in List  
<br>24437: KeyListeners don't get called  
<br>26322: NPE in Font Dialog  
<br>26331: Wrapped Labels - second line cut off  
<br>26587: Navigate -> Go To Type goes to wrong shell on Mac  
<br>27997: Color dialog crashes Eclipse  
<br>28288: [Editor Mgmt] Editor pane out of sync with views and tabs  
<br>28361: ToolItem leaks Images (?)  
<br>28524: Inconsistent behaviour of tab in password fields  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 021 - Friday December 13, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
27526: Color selection dialog takes a long time to display in 8-bit mode
<br>27862: Tree.setSelection() takes > 1 second  
<br>28035: Different callback behavior on Windows and Mac with Combo widget
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 020 - Tuesday December 10, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
24112: Keyboard shortcuts defined as Ctrl-Shift-x don't work  
<br>24436: Entering Asterisk crashes Eclipse  
<br>26506: Importing External Plug-ins is slow  
<br>27031: en_US.UTF-8 locale not supported on Motif  
<br>27410: [SWT Examples] Arrow buttons won't resize for 10x10,50x50,100x100
<br>27422: [SWT Examples] Progress bar reverts to 'black' color after Selection slider repositioning
<br>27501: Selection not correctly updated on right click on a tree  
<br>27524: [SWT Examples] Table item foreground color changes fail after first attempt
<br>27644: Dismissing open type dialog with Escape crashes Eclipse  
<br>27704: Remove csh build dependency  
<br>27710: Entry point not found SetLayout in GDI32  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 019 - Tuesday December 3, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
19080: Chaff in table tree of property sheet  
<br>20318: [StyledText] print selection prints whole page (at least in <=f2)
<br>26563: Crash in Carbon native CopyMask  
<br>26731: Attempting to create a view plug-in project crashes  
<br>27181: Sleak - instrumentation not done on GTK and Motif  
<br>27305: EC: CLabel keeps background colour after gradient is used  
<br>27411: [SWT Examples] SWT.FLAT has no effect for buttons  
<br>27442: Mouse click outside horizontal scroll bar does nothing  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 018 - Tuesday November 26, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
15031: Font parsing failed  
<br>17237: Progress monitor flickers  
<br>18172: Sig11 from GTK  
<br>19530: Saving locks resizing in second perspective  
<br>19735: No space between longest item in menu and accel keys  
<br>20953: StyledText - tilde problem with french keyboard (2000,NT,XP) on R2.0
<br>21626: TableItem.getImageBounds fails on Motif (Emulated Widget)  
<br>24872: Splash screen does not show at startup  
<br>24969: JP GP: showing Java-Editor pref. page with editor open  
<br>25053: Cannot use the pull down menu in GTK  
<br>25335: Scrollbars too small on variable selection dialog  
<br>25653: DCR: StyledText do not activate the default button  
<br>26179: Can't select items in a checkbox tree without toggling checked state
<br>26353: Infopop broken on solaris  
<br>26362: StyledText - investigate necessary state changes between handleTextChanging and handleTextChanged
<br>26733: Eclipse crashes when GTK theme is changed  
<br>26804: Gtk Label widget has focus decoration drawn too big  
<br>26935: Exception in StyledText with WRAP flag.  
<br>26997: StyledTextRenderer: creates too many Strings  
<br>27016: Default "Open" action not working in Navigator tree view
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 017 - Tuesday November 19, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
21251: Crash in org.eclipse.swt.internal.gtk.OS.pango_layout_set_font_description
<br>24835: GTK: Multiple selection and right click in tree  
<br>25741: StyledText does not set the background and foreground color in the OS
<br>25803: StyledText should use new Font API  
<br>26004: Removing a Text field leaves behind crud  
<br>26008: [StyledText] setTopPixel limits argument to logical line count
<br>26121: Cannot launch eclipse #2: javacore dump  
<br>26151: SWT widget org.eclipse.swt.widgets.Sash is not properly constrained when in HORIZONTAL mode
<br>26258: Accented characters bug in editors reinvented  
<br>26367: NPE when debugging as java application  
<br>26414: Accelerators don't work on aix  
<br>26419: StyledText - print pages causes walkback  
<br>26421: List hangs on GTK  
<br>26434: PrinterData startPage/endPage invalid when page >32767  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 016 - Tuesday November 12, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
23935: Text widget with Tree parent does not lose focus  
<br>23997: Tracker moves mouse cursor  
<br>24493: Cant type braces in java editor with italian keyboard in 2.1m1
<br>25732: MLEAK: Resize eclipse, usually 4K allocated  
<br>25775: Combo doesn't get restored after minimize/restore  
<br>25781: Some change broke compare with patch  
<br>25797: GTK: Selection Index not preserved after Combo item removal  
<br>25986: No source for SWT plugin imported as binary  
<br>25989: Radion buttons are not mutually exclusive in same composite  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 015 - Tuesday November 5, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4607: Missing API for Font(Display display, FontData fd[]) (1G93TPM)
<br>14956: StyledText - printing should support pagination, headers, and footers
<br>21695: Crash when starting eclipse on Solaris8 with java 1.4  
<br>22052: Launch configuration dialog loses workspace data dir  
<br>23049: Cannot write Swedish characters (������) in editor  
<br>24273: GP -Tree removeAll reboot windowsXp  
<br>24359: MenuItems with style SWT.RADIO should handle mutual exclusion on selection
<br>24757: GTK: X pointer grab when resizing a table column  
<br>25212: GPF synchronizing files with new Tree implementation  
<br>25253: Preference dialog doesn't display last preference page  
<br>25399: Drag and drop crashes Eclipse  
<br>25545: StyledText - printing ignores end page  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 014 - Tuesday October 29, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
10090: Cannot see Combo-box selection in DBCS locale  
<br>12078: SWT exception when running on debian woody on KDE using the motif build
<br>14448: Setting the accelerator of a menu item gives highlight to tool bar entries
<br>17361: Tree flickers on update  
<br>17428: Internal Error (SWT) opening a new perspective by double-clicking
<br>20075: Infopop exhibits strange behaviour under Motif  
<br>21066: Switch editors/views/perspectives windows have scrollbars  
<br>21121: [External Tools] Configuration default selection could be better on GTK
<br>21375: Reproducible JVM termination when using WebDAV.  
<br>21656: GTK: disposing all the columns in table.getColumns fails  
<br>22038: Wrong widget scrolls in Java Browsing perspective.  
<br>22120: Excessive redraw in debug view  
<br>22252: Project properties - java build path screen shows artifacts  
<br>22371: Invalid selection items in working set  
<br>22527: Working set dialog only selects projects  
<br>22743: Type dialog horizontal scroll too small to read contents  
<br>23657: Problems implementing MenuItem.setText (worked around for English)
<br>23789: GTK tree display problem  
<br>23845: Spurious scrollbar drawn on other controls  
<br>24150: Shift-Tab does not shift left  
<br>24257: Native exception when trying to export preferences  
<br>24314: FileDialog doesn't allow to navigate into packages  
<br>24372: StyledText - StringIndexOutOfBoundsException in ControlExample
<br>24426: StyledText - investigate replacing caretLine with simpler concept
<br>24504: StyledText - showSelection when selection RtoL problem  
<br>24619: DCR - State mask not set in MouseTracker.mouseHover  
<br>25016: [Viewers] Double click not working when item already selected
<br>25149: StyledText - WrappedContent API does not check line index range
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 013 - Tuesday October 22, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
20377: StyledText - SWT.WRAP style and widthHint specification  
<br>22986: SWT Controls Combo box Colors selection tool does not change foreground color
<br>24728: StyledText Enter/Ctrl-Enter VerifyEvent inconsistencies  
<br>24805: ComputeSize issue  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 012 - Tuesday October 15, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
16657: [Open Modes] Search results doesn't respond to double click  
<br>17334: Icon missing in check box tree  
<br>17918: Tree widgets with multiple entries  
<br>18902: PgUp key causes items to be selected in tree widget under GTK  
<br>20258: [CVS] Esc key doesn't work on Commit Dialog  
<br>21367: Display problem in the properties view  
<br>21438: Java core dump in gtk_ctree_get_node_info  
<br>24560: Ctrl+shift doesn't traverse word  
<br>24676: StyledText - double click word select and caret placement  
<br>24677: 32 bit image fails with a certain mask  
<br>24702: WinCE: Image 32bits is incorrect  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 011 - Tuesday October 8, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4822: Group size doesn't seem to consider group name (1GJYIWB)  
<br>10019: Right clicking in a list box should select before popping up menu 
<br>17160: Task List: missing icon  
<br>18842: Cheese when scrolling after deleting row in table  
<br>19773: Coolbar icons in Windows XP with Luna theme are not vertically aligned
<br>20094: Layout problems using StyledText with word wrap in a ScrolledComposite
<br>23978: Horizontal scrollbars in tables and trees don't scroll page-wise
<br>24225: DragSourceAdapter incorrect JavaDoc  
<br>24358: Incomplete JavaDoc on MenuItem.setText  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 010 - Tuesday October 1, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
10459: I can't run eclipse  
<br>19148: Tooltip pops up underneath code completion alternatives in F2
<br>20672: Shift+F10 has wrong keyCode  
<br>21287: Uncaught exception hanging Eclipse  
<br>22615: [Dialogs] Native ProgressBar look does not match look of AnimatedProgress
<br>22645: StyledText - cheese when typing in SWT.SINGLE mode  
<br>23645: Disabled default button can still be reached pressing ENTER  
<br>23846: Initial font height of text field is wrong  
<br>23851: Initial text in Text control is scrolled out of visible area  
<br>23910: CTabFolder selected tab loses synch with its contents  
<br>23936: NPE in ControlExample  
<br>23947: Menu implementation prevents KeybindingMenu from working correctly
<br>23975: No keyboard shortcuts displayed in menu items  
<br>23976: Function keys must be pressed twice  
<br>24000: No scrollwheel support for Mac OS X  
<br>24055: No more callback exception hang Eclipse  
<br>24088: File chooser for OSX returns wrong path  
<br>24106: Table Column Resizable Doesn't work if you click on Column itself
<br>24137: Top item on popup is often invisible  
<br>24139: Copy causes exception  
<br>24141: Keyboard not functional in editors (mac os x)  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 009 - Tuesday September 24, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
7435: ArrayIndexOutBoundsException occurs when using Solaris through remote terminal
<br>15146: Printing support under Linux?  
<br>18483: IE6 causes conflict with SWT.APPLICATION_MODAL on Windows 98  
<br>20461: WinCE - Wait cursor does not show up  
<br>20958: Eclipse crashes when pasting PDF text into a Java file editor
<br>21416: Gtk+ launcher  
<br>22121: Eclipse crashes when pasting URL in Java-code  
<br>23007: [Navigator] Import of workspace folder into parent  
<br>23744: Device.getFontList() uses wrong constant name  
<br>23745: Wrong flag used in Device.getFontList().  
<br>23748: Input group is hardcoded as 1 in PhWindowQueryVisible()  
<br>23753: Groups don't look like the platform  
<br>23754: Label.setFont() needs to check "text != null"  
<br>23766: Labels with image only have extra space on GTK  
<br>23795: ControlExample: Image Label leaves cheese when resized  
<br>23807: Display class needs to pick better default fonts.  
<br>23864: CoolBar - Plus 2, Minus 2 problem  
<br>23884: WinCE - OS.InitCommonControlsEx fails with flag DATETIMEPICK_CLASS
<br>23898: Group.setBackground() don't work on Gtk  
<br>23899: CTRL + Mouseclick  
<br>23974: Use native ComboBox  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 008 - Tuesday September 17, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4637: TreeEditor example does not show how to use double click (1GCP6OH)
<br>4656: Pop-up menu not showing for Composite (1GENYM0)  
<br>4710: Remaining Javadoc problems (1GF088W)  
<br>4730: Support for lesstif on Linux  
<br>4733: Issues with Win32 GDI setBkMode(), and similar things in Motif (1GFPGK3)
<br>4796: DCR: keyboard support for move/resize (accessibility issue)  
<br>5900: CheckboxTableViewer does disable correctly  
<br>10532: DCR: Table.setSelection(int, int) -- order matters  
<br>12048: NPE exiting workspace  
<br>16700: Coolbar tab order is backwards  
<br>17494: Veronika needs to check her javadoc  
<br>19256: SIP event  
<br>19736: Tooltips for long entries in code assist pop behind code assist
<br>21126: Print Dialog Is Not Modal, Resulting in Unpredictable Workbench Behavior
<br>21620: FontData.setLocale() crashes workbench  
<br>22189: Win32 GDI Resource Leak in WrappedContent.java  
<br>22210: Photon:Removing item from Combo does not remove the text(BBAWT)
<br>22364: Incorrect height of widget in TextViewer  
<br>22490: Background color of Graphical Editors is always black.  
<br>22534: No way to turn border off for linux text widget  
<br>22564: Cannot draw transparent PNG files properly  
<br>22577: List.setSelection(String[]) infinite loop  
<br>22839: When swt window in focus palettes of other windows hosed, and vise versa
<br>22862: StyledText - Tab does not tab out of non-editable  
<br>22926: Clipboard copy/paste is cut/paste on Windows 98  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 007 - Tuesday September 10, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
10050: StyledText - Change selection color when changing background color
<br>14637: StyledText - copy-from text edit feature  
<br>16009: Eclipse's toolbar buttons' icon in black and upside down  
<br>17793: Motif FileDialog often does not use reasonable default directory  
<br>20179: Coolbar item clipped on bottom edge with SWT.BORDER style  
<br>21185: GTK: Label positioning incorrect when style bit used and bounds set(BBAWT)
<br>22079: StyledText - BidiUtil.isBidiPlatform returns true when not running with bidi locale
<br>22114: * key expands TableTree but does not send SWT.Expand event  
<br>22115: MessageDialog does not wrap message  
<br>22158: getItem() crashes eclipse called with index 0  
<br>22647: Variant class incorrectly marshals VT_BOOL values  
<br>22746: Text cut off in GTK in TitleAreDialog  
<br>22868: Eclipse hangs while creating a shell from ControlExample  
<br>22874: 2104: Converter contains references to Converter.class  
<br>22916: CCombo not dropping down list properly  
<br>22918: Table.getItem(Point) throws ArrayIndexOutOfBounds  
<br>22959: Dragging over multiple stacked trees uses invisible tree for drop target
<br>22978: Motif FileDialog ignores SWT.MULTI bit  
<br>23003: Xcopyplane requires 11 args but HP-UX JRE can only handle 10  
<br>23028: EC: Tab un-indent does not work  
<br>23061: 'Back' key does not delete character on Smartphone 2002  
<br>23178: Eclipse Fails to Start First Time  
<br>23285: Linux Motif has become extremely slow  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 006 - Tuesday August 27, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
5678: TVT: Unable to open Filter dialog on Win98 if another view is undocked (free floating)
<br>12878: Combo setItems removes setText  
<br>13024: Two tooltips displayed on tree  
<br>14923: Show Text Hover toolbar item in wrong place  
<br>16333: Accessibility - tab key in dialog boxes  
<br>20321: Multiple opened ApplicationWindows with statuslines show incorrect display/event handling
<br>22231: Pressing ENTER in a text field no longer performs OK in dialogs
<br>22659: Function key events are often lost
<br>22661: StyledText - Shift+Alt+<character> inserts character  
<br>22721: Cannot use keyboard to toggle checkboxes  
<br>22737: Mouse Capture on Motif causes Context Menu not to work  
<br>22825: Consecutive vertical cursor movement commands don't retain column offset
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 005 - Tuesday August 20, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4554: Combo selection scrolls for certain fonts (1G1AD9Y)  
<br>4577: Ctrl+Backspace & Ctrl+del have the same key code and key event (1G54RAJ)
<br>4685: Variables View re-positions on each step (1GETE8F)  
<br>10091: MessageBox loses activation  
<br>10976: Workbench windows don't reopen correctly in Dual Monitor environments
<br>14942: Unexpected KeyDown event after pressing non existing menu mnemonic
<br>18705: Too much flashin in Control Example  
<br>21829: API needed to allow CCombo to display its list at the prefered width
<br>22443: OLE - org.eclipse.swt.internal.ole.win32.CONTROLINFO has a useless field 'filler'
<br>22457: Win32 org.eclipse.swt.widgets.Combo computeSize() is wrong  
<br>22507: Modal dialog does not prevent adjusting of table headers in parent.
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 004 - Tuesday August 13, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4737: Redraw problem in table (1GFW2PE)  
<br>9075: Tooltips only partially displayed in Hoverhelp.java example  
<br>15610: StyledText - Double-Click-Drag doesn't work, works on Text  
<br>16990: ToolBar does not send MouseHover events  
<br>20632: Polish national fonts  
<br>20792: sometimes resize callback is not sent to the shell when the shell is not visible
<br>20815: Menus not displayed on SmartPhone 2002  
<br>21268: StyledText - Ctrl+Shift+J inserts line  
<br>21272: StyledText does not support setting selection with caret on the left
<br>21921: Emulated Table setTopIndex fails and causes NPE when adding an item afterwards
<br>21933: TableColumn does not listen to ControlEvents  
<br>22004: no keyboard shortcuts for switching between pages of MultiPageEditorPart
<br>22188: StyledText - only first character of a line displayed  
<br>22204: Photon: Text.selectAll() does not select all the text(BBAWT)  
<br>22254: Command H is not mapped properly  
<br>22365: SWT_AWT does not compile under JDK 1.4  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 003 - Tuesday August 6, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4521: Display.syncExec or Display.asyncExec can block processing of native events (1G03DF0)
<br>20144: Enter key not working in packages view  
<br>21179: Step filter in-place text editor invisible  
<br>21243: Scroll lock inserts a character during incremental search on GTK
<br>21338: Accents and � don't work in editor using gtk  
<br>21472: keyPressed event ignored by org.eclipse.swt.widgets.Text for ENTER key
<br>21696: StyledText - RTF transfer codepage encoding  
<br>21698: StyledText - RTF writer performance improvement  
<br>21834: Coolbar - deleting items corrupting layout  
<br>22004: No keyboard shortcuts for switching between pages of MultiPageEditorPart
<br>22025: Motif: Unexplained termination running BBAWT JUnit tests  
<br>22036: MOTIF: Appearance issue with Combo  
<br>22060: StyledText - bidi - ArrayIndexOutOfBoundsException  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 002 - Tuesday July 30, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4578: Ctrl+J & Ctrl+Enter have the same key code (1G54RJJ)  
<br>4816: TabItem displays & (1GJL704)  
<br>6888: Combo sends ModifyEvent on setItems  
<br>9025: OLE, StyledText widget and WinCE  
<br>19632: Tracker should adjust cursor on mouse not down, not on MENU  
<br>19985: StyledText - Bulleting proofing RTF copy function  
<br>20691: StyledText - bidi - Win2K/XP support  
<br>20746: Inconsistent @param in Javadoc for  TableItem.setGrayed(boolean)
<br>21313: Combo.getItem wrong error thrown  
<br>21423: GTK: GPF in Shell.setVisible()  
<br>21500: GTK: SWT.Activate and SWT.Deactivate events not fired when Shell with NO_TRIM used as its style bit
<br>21526: Shell.computeTrim does not include menu bar  
<br>21563: Mnemonics give focus to the label on GTK  
<br>21564: GTK: Text of Button(with style bit SWT.CHECK) does not show up correctly
<br>21573: TableTreeItem should have get/setGrayed() methods like TableItem
<br>21601: getLineCount() method for Text widget does not work on Motif  
<br>21623: List.setSelection (int start, int end) fails on Motif  
<br>21653: WinCE/SH4: Arrow keys don't generate key events  
<br>21702: Debug Display view error msg to console on GTK  
<br>21706: BidiUtil in win32 has Class.forName() usage  
<br>21805: event.character = 0 for all Ctrl-<alpha> on QNX 6.2  
<br>21937: COMObject leakage on OleControlSite  
<br>21958: ControlExample FileDialog does not filter correctly  
<br>21964: GTK: Adding an item to Combo changes the selection index  
<br>21967: GTK: Setting selection index to -1 for a Combo throws an exception
<br>21969: List.getSelectionIndex bug  
<br>21976: GTK: Combo.getSelectionIndex() changes when an item is removed
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.1 001 - Tuesday July 23, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4428: Table - Grid lines not drawn correctly (1FE4K5U)  
<br>4451: Shell: setDefaultButton, default button cannot be reset to null (1FGLS6M)
<br>4489: MouseUp fired for button 1 when button 1 is still pressed (1FODDP4)
<br>4511: Pane title update flashes tool bar buttons (1FUUR7A)  
<br>4524: CTRL sequences not handled gracefully by TextEditor (1FVSBTS)  
<br>4544: CTRL combination not handled as accelerators when Caps are locked (1FZQDGR)
<br>4590: VerifyEvent values ignored (1G7G5Y3)  
<br>4626: TableTree: Two selection events generated for each checkbox selection (1GBRSLM)
<br>4642: DirectoryDialog does not support / on windows (1GD41DZ)  
<br>4648: MenuItem.setEnabled() always causes a redraw (1GDDCN2)  
<br>4786: FontDialog should give access to color setting (1GIEFBD)  
<br>4861: Key state for toolbar items (1GL54A0)  
<br>5935: StyledText - up/down arrow behavior wrt varying line lengths  
<br>6775: Radio button setSelection changes focus  
<br>9859: Combo widget doesn't fire keyPressed or keyReleased for Enter key
<br>11868: StyledText: text selection with key 'arrow down' does not include last line
<br>11994: StyledText - replace getXAtOffset(caretOffset) with caret.getLocation().x
<br>12178: StyledText - move StyledTextRenderer#bidiTextWidth to DisplayRenderer
<br>12181: StyledText - mixing text width/caret position is confusing  
<br>13944: DCR - Need cut/copy/paste routines on Combo  
<br>14672: Combo and Scale setBackground does not refresh  
<br>14799: Window manipulations block other threads from executing  
<br>15088: StyledText - getTopIndex semantics undefined when no line fully visible
<br>15554: DCR - alignment in a text widget  
<br>15559: JAWS reads the parent window for dialog shells  
<br>15728: Packages view selection always one too high  
<br>16110: StyledText scroll not working with PageUp/Down keys.  
<br>16205: StyledText - Tab does not tab out of read-only  
<br>16402: Working set dialog: table columns have incorrect size  
<br>16777: Busy cursor lost over progress indicator edges  
<br>16986: JavaViewer example should remember path  
<br>17191: SWT Error in JUnit view  
<br>17252: Accelerator labels: Ctrl-Shift-A, Shift-Ctrl-A or Shift-Ctl-A?
<br>17279: Extra CoolBar row created when switching perspectives.  
<br>17370: Combo box flashes to much when resizing dialog.  
<br>17993: Find/Replace shouldn't replace typed entry with value from history
<br>18253: Coolbar - disposing items not honoring setRedraw = false  
<br>18308: Ctrl+SHIFT+@ does not call the listener.  
<br>18429: ScrolledComposite with LayoutManager is VERY slow in iPAQ  
<br>18570: Combo flashes by resizing  
<br>19380: Listboxes flash as preferences dialog is resized  
<br>19434: ToolItem does not need to check for TOGGLE  
<br>19568: {} on a german keyboard [swt-carbon]  
<br>19615: StyledText - example Text Editor bug in copy/paste  
<br>19630: Coolbar - odd dispose behavior  
<br>19815: JRE crashes using error log and progress bar.  
<br>19964: Coolbar - can "lose" items when platform widget wraps  
<br>20159: Right-clicking on coolbar grabber causes strange behavior  
<br>20183: Motif : Coolbar preferred size is too small width wise  
<br>20190: CoolBar problems on Windows XP with Manifest  
<br>20339: Hitting spacebar does not press currently focused button  
<br>20583: Segfault when control tries to dispose of itself under Motif  
<br>20683: [ExternalTools]  F3 (and F2) crashes the JVM when trying to cancel an external tool on linux-gtk
<br>20690: StyledText - bidi - should force font script when keyboard language changed
<br>20705: Cursor Keys don't work in Dialogs  
<br>20722: GTK TableColumn#pack does not work if no header  
<br>20788: A composite is being mysteriously disposed for no reason  
<br>20846: WIN32: 'Combo.indexOf' always returns -1 for empty string  
<br>20893: Bad size for Text widget when flag READ_ONLY is set (Photon)  
<br>20904: SWT exception on LayoutExample (Photon)  
<br>20950: GTK: F1 help does not work for menu items.  
<br>20956: Emulated CoolItem do not respect SWT.DROP_DOWN flag  
<br>21030: StyledText - during cut if clipboard copy fails do not delete text
<br>21096: Properties accelerator missing ENTER  
<br>21122: Emacs: Accelerators not shown in menus under GTK  
<br>21154: StyledText - BIDI - Bad effect of RLO unicode character  
<br>21192: UnsatisfiedLinkError thrown when pressing a hardware key  
<br>21215: [Help] F1 Help does not close menu on GTK  
<br>21223: StyledText - Cursor should stop blinking when moving  
<br>21268: StyledText - Ctrl+Shift+J inserts line  
<br>21368: GTK: GC.drawImage() fails when scaling an image  
<br>21371: SWTError while using Navigator->Goto->Resource  
<br>21378: GTK: Shell event's doit flag ignored when shellClosed() is called
<br>21412: Paste with accelator key doesn't work  
<br>21413: CoolBar computeSize fails on XP  
<br>21415: Javadoc for CLabel.setBackground has typos  
<br>21440: Unable to display Today screen when SWT app running on WinCE  
<br>21449: GTK: Calling Text.setSelection() causes GPF  
<br>21456: GTK: Cannot type in Text widget contained in Shell which has style bit as NO_TRIM
<br>21484: Shift-Tab does nothing on GTK  
<br>21523: StyledText - caret does not move when widget shell is not open
<br>21524: StyledText - NPE when typing text and caret is null  
<br>21596: StyledText - initial bidi caret position wrong when widget empty
<br>21598: StyledText - setFont enables caret when it was disabled  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 052 - Wednesday October 30, 2002 (2.0.2 stream)

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
10459: I can't run eclipse
<br>24693: org.eclipse.swt.graphics.GC.drawString() fails to draw euro
<br>24869: GP - Eclipse crashed when entering invalid file name in FileDialog
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 050 - Wednesday October 16, 2002 (2.0.2 stream)

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
24542: [DND] Crash when drag&drop on the Package Explorer
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 049d - Monday August 26, 2002 (2.0.1 stream)

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
22729: Permissions.properties missing from the build script
<br>22779: Eclipse linux-motif GPFs on exit on J9
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 049b - Wednesday August 21, 2002 (2.0.1 stream)

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
22448: CoolBar - deleting first item in row does unnecessary collapse/expand of row
<br>22561: Hover Help broken in 2.0.1 I20020815
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 049 - Wednesday August 14, 2002 (2.0.1 stream)

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
22055: CoolBar - setWrapIndices causes rows to collapse/expand unnecessarily
<br>22144: Coolbar - setSize not being honored after setWrapIndices API used
<br>22320: Coolbar - delete item behavior problem
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 048 - Tuesday August 6, 2002 (2.0.1 stream)

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
15559: JAWS reads the parent window for dialog shells
<br>18253: Coolbar - disposing items not honoring setRedraw = false
<br>19964: Coolbar - can "lose" items when platform widget wraps  
<br>21268: StyledText - Ctrl+Shift+J inserts line
<br>21834: Coolbar - deleting items corrupting layout
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 047 - Monday June 17, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4772: Javadoc: Graphics constructors need to doc if device null (1GHSPUW)
<br>14144: ScrollBars can't be made invisible on PocketPC  
<br>20265: F3. test C3. No new updates for Eclipse on HP.  
<br>20362: Coolbar cannot be traversed to  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 046 - Friday June 14, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
16809: Clicking to close non-active editor doesn't have an affect  
<br>16939: DnD: Moving the mouse while dropping behaves strangely while dragging views
<br>17190: No cell editor support  
<br>17563: Flat tool bar buttons  
<br>17621: Resource Patcher wizard - widgets not properly aligned  
<br>19089: No popup menu java editor ruler (Photon)  
<br>19243: Eclipse launchers have hardcoded j9 args  
<br>19244: Spacing between Table rows grows with number of rows  
<br>20006: X Pointer grab not released  
<br>20044: Unable to scroll license text using keyboard  
<br>20072: Workbench bounces when swtiching perspectives  
<br>20134: Eclipse CLOSES automatically, when i'm working in it  
<br>20184: Color javadoc could use reference to Device.getSystemColor()  
<br>20209: Hang due to OS locking  
<br>20354: GP when attempt to check out SWT from repository  
<br>20372: Tracker needs more javadoc  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 046 - Tuesday June 11, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
16809: Clicking to close non-active editor doesn't have an affect  
<br>16939: DnD: Moving the mouse while dropping behaves strangely while dragging views
<br>17190: No cell editor support  
<br>17563: Flat tool bar buttons  
<br>17621: Resource Patcher wizard - widgets not properly aligned  
<br>19089: No popup menu java editor ruler (Photon)  
<br>19243: Eclipse launchers have hardcoded j9 args  
<br>19244: Spacing between Table rows grows with number of rows  
<br>20006: X Pointer grab not released  
<br>20044: Unable to scroll license text using keyboard  
<br>20072: Workbench bounces when swtiching perspectives  
<br>20134: Eclipse CLOSES automatically, when i'm working in it  
<br>20184: Color javadoc could use reference to Device.getSystemColor()  
<br>20209: Hang due to OS locking  
<br>20354: GP when attempt to check out SWT from repository  
<br>20372: Tracker needs more javadoc  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 045 - Tuesday June 11, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
15242: CoolBar - layout issues  
<br>18517: Coolbar - delete and row layout bug  
<br>19090: Combo doesn't size itself properly in GTK2  
<br>19670: Regression in OLE support  
<br>19671: Unable to expand/collapse trees in properties view  
<br>19720: Coolbar - getPreferredSize problem (was getClientArea problem)
<br>19787: Hover help is not removed  
<br>19947: GTK2 sends key events with both keyCode and character equals to 0 for some keys
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 044 - Monday June 10, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4807: Text.setEchoChar spec should say 0 <= char < 128 (1GJ6CDM)  
<br>4837: Javadoc: Cursor constructor ERROR_NO_HANDLES is not spec'ed (1GKA7Q9)
<br>5577: Text javadoc  
<br>7526: No spec for Display.update()  
<br>8513: JavaDoc for Menu.addMenuListener incorrect  
<br>12820: Finishing preview of the refactoring code crashes Eclipse  
<br>14463: GP opening two files at the same time  
<br>15460: CoolBar doc unclear/insufficient  
<br>15939: KeyEvent character is not consistent between Linux and Windows
<br>16810: Mouse pointer not update  
<br>16837: Keys completely lost  
<br>16883: Variable sorting changes unexpectedly  
<br>16895: In-place text fields are unusable  
<br>17036: Disposing a CoolItem is triggering an activation callback.  
<br>17146: Editor Preference page buttom list clipped  
<br>17154: View part loses focus when opening context menu  
<br>17289: Combo doesn't take focus by clicking on it (Photon)  
<br>17290: Modify Method Parameters: wrong enablement of buttons  
<br>17507: AIX FileDialog is not responsive in stand-alone example  
<br>17613: Add from local history shows nothing in right and lower pane
<br>17670: Cannot move through Plug-in Code Generation page list with arrow keys
<br>17692: IAE when deleting line in Java Editor  
<br>17752: Cannot select a non-bold font  
<br>17788: Scale with preferred size is unusable (no range of motion)  
<br>17848: F1 build, JVM terminated Exit code 139  
<br>17936: Eclipse launcher must launch headless in headless environments
<br>18439: Ctrl+F6 editor switching is unusable  
<br>18508: Javacoredump when opening vertical ruler context menu  
<br>18521: Coolbar layout and chevron bug  
<br>18543: An invisible character is added when the 'Windows' key is pressed
<br>18625: Tabbing in Java editor takes cursor  
<br>18629: GTK: Unable to select dialog buttons with mouse  
<br>18645: Release SWT sources & javadoc in future builds  
<br>18733: ControlExample: List widget not being resized properly  
<br>18804: GPF setting image to menu item (Photon)  
<br>18838: Launch Configurations dialog creeps up  
<br>18841: Question: What does -DMBCS do?  
<br>18930: Wrong content displayed in tabs in the Launch Configuration Dialog
<br>18934: Scrollbars should be disabled in ImageAnalyzer example  
<br>19057: Problem saving java file through popup menu  
<br>19116: Missing about.html in source directory for examples  
<br>19169: NPE on Emulated CoolItem constructor  
<br>19345: Task View: Not clearing priority icons  
<br>19394: False "unsaved changes" notification from launch configs  
<br>19503: Widget in outliner gets wrapped/cropped  
<br>19595: StyledText - redrawRange not clearing properly when clear flag set
<br>19660: Preference page does not expand to fit all widgets  
<br>19769: Internet Explorer and Help, EXCEPTION_ACCESS_VIOLATION  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 043 - Friday May 31, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4692: Empty popup menu appears in Outline view (1GET1B1)  
<br>8821: Opening editors has become very slow  
<br>15565: Coolbar - minimumWidth not honored under certain conditions  
<br>16688: Selection background on emulated widgets is wrong  
<br>17150: Strange selection behaviour in Java Browsing Perspective  
<br>17156: Delete key not working in package view  
<br>17228: Weird Tree selection behaviour  
<br>17354: Double clicking expands and collapses item  
<br>17363: Test A4.4 cannot edit action set id in properties view  
<br>17680: Outline doesn't expand when adding new method  
<br>17825: ControlExample->Text beeps when I choose SWT.MULTI  
<br>17831: Coolbar - chevron not always displayed when it should be  
<br>18160: "Show in packages view" doesn't scroll to selection  
<br>18229: Walkback when closing ImageAnalyzer  
<br>18368: Get rid of all fragment.properties  
<br>18376: No execute permissions of libraries  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 042 - Thursday May 30, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4533: Cheese when resizing toolbar (1FWL943)  
<br>4841: SWT sample imageviewer nothing display at pixel data area (1GKEOUE)
<br>6735: AWT/SWT - Swing / Swt integration : JComboBox doesn't show correctly
<br>10972: Core dump drag and droppping from inline text  
<br>12498: Unable to add External Jar using the Java Project Wizard  
<br>16174: Wrong popup menu  
<br>16553: SWT_AWT.new_Panel does not work  
<br>16791: Can't select check boxes  
<br>17199: Table widget - only last column header is clickable  
<br>17375: Cheese on Java Scrapbook page ruler  
<br>17390: JUnit testcases result for Graphics (1 error, 2 failures)  
<br>17565: Add JRE validation not working  
<br>17568: Error doesn't disapear when switching to source folder layout
<br>17574: Status line contributions appear twice  
<br>17637: Resize problem when diableing overview ruler in Editor  
<br>17662: Incorrect status display in new Feature Wizard  
<br>17917: Shift-Tab does not work  
<br>18223: Text widget with SWT.MULTI has strange behavior on GTK  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 041 - Tuesday May 28, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4398: Visual Coordination: Borders (1FSGONG)  
<br>4411: DCR - Support printing (1PQ8QCK)  
<br>4426: ScrollBar - Can't query size (1FDVP23)  
<br>4431: Folder tab does not get focus (1FIGI95)  
<br>4437: Tree Keyboard Support (1FOLZPT)  
<br>4452: MenuItem: setImage does not show image on menu (1FGNP8U)  
<br>4469: Inconsistencies between single line Text and RichText widgets (1FK1RRM)
<br>4474: Not supportting Windows Accessibility Standard? (1FM0IFS)  
<br>4490: Fonts in examples appear too big (1FOMCWQ)  
<br>4496: DCR - Contour mouse middle button doesn't work (1FREAS4)  
<br>4503: FontDialog is missing fonts (1FSMRV0)  
<br>4526: Severe - Delete key is not redirected to editor (1FVXDST)  
<br>4529: Closing external MS Word makes in-place MS Word disappear (1FWG9AR)
<br>4534: Flashing when computeSize called on Toolbar (1FWLD1E)  
<br>4545: No OS.GetKeyState function on motif (1FZQOZM)  
<br>4550: JUnit tests assumes boundary condition which is setting dependant (1G0LQKD)
<br>4552: Adobe doesn't like ImageData... (1G0ZBE0)  
<br>4563: Need support for *.xpm and *.png image file formats (1G3HWSA)
<br>4636: Tooltips not working on Linux (1GCN4FK)  
<br>4672: DCR - Include "begining / end " arrows to select files (1GEFYCG)
<br>4679: Colour gradient of views is not gradual (16bit color depth) (1GELWSO)
<br>4699: DCR - outstanding issue for customer- Changing cursor during drag operation (1GETC8U)
<br>4703: WinME - Disabled icons in tabbed folder do not display properly. (1GEWXLI)
<br>4706: StackOverflow resizing Workbench window (1GEWLSU)  
<br>4708: FATAL X error (1GF07HN)  
<br>4709: GP running ( Eclipse ^ 2 ) (1GEZ9UR)  
<br>4711: Navigator messed up when midi(w/DBCS) in it -Can't create view (1GEZNVC)
<br>4728: Windows with tab pages should allow Ctrl-Tab switching (1GFIUG5)
<br>4785: DCR - Custom notebook scrolling not optimal (1GI97VZ)  
<br>4839: TabFolder mnemonic problem (1GKAPKK)  
<br>4840: Hebrew: cannot paste from external file into java editor (1GKCWVX)
<br>4851: Print ignores print to file option (1GKXC30)  
<br>4867: PgMemFlush() considered expensive (1GLEEJC)  
<br>5697: *Please* make SWT use GTK+ instead of Motif  
<br>8346: Workbench will not start  
<br>9217: Internal error at open the package view  
<br>9491: 1GRTRXQ: WSWB:Workbench 2.0 Problem- ArrayIndexOutOfBoundsException with MultiPageEditorPart
<br>11204: Some ActiveX control can not accept key input.  
<br>11436: Request for public interface to call "UIDeactivate()" of  IOleInPlaceObject
<br>11498: StyledText does not always redraw when the line style changes
<br>14846: Accessibility: getLocation does not position XP Magnifier  
<br>15218: Platform does not recognize the GUI - 20020502  
<br>15466: ImageData.blit throws ArrayIndexOutOfBounds Exception  
<br>15548: 'X' close box on tab hidden by arrows  
<br>15564: javaw.exe has generated errors and will be closed by windows  
<br>15653: Tab halts on CCombo objects  
<br>16094: Cheese on CTabFolder when resizing  
<br>16200: Tracker leaves cheese  
<br>16345: JVM termination when attepmting to run Update Manager  
<br>16458: Trying to free a GdkEvent: pointer=NULL  
<br>16549: Cannot navigate tabbed notebook with keyboard  
<br>16557: Tab does not move cursor between text fields  
<br>16565: Typed text is lost  
<br>16576: ACC: Checkboxes in lists are not real checkboxes  
<br>16828: CTabFolder flashing tooltip  
<br>16927: External programs support on Photon  
<br>16957: TreeItem.setForegroundColor() doesn't work  
<br>16967: Strange scroll behavior in package dialog  
<br>16995: HoverHelp example does not create ON_TOP Shell for tooltips  
<br>17022: SWT Layouts example - missing window title  
<br>17090: StyledText selects text when menu is showing  
<br>17183: Icon in wizard banner clipped  
<br>17208: Long operations are being modal.  
<br>17305: Search Dialog: Java Page clipped  
<br>17320: Search dialog freezes Eclipse  
<br>17368: 4 Toolbar icons pushed off the toolbar way to the right  
<br>17488: Image Support in SWT - FAQ (1G5Z1KS)  
<br>17497: FileDialog open() returns wrong result  
<br>17632: "Color Button" doesn't update  
<br>17802: Moving a sash requires an extra click to take effect  
<br>17811: Two menu bar items highlighted at the same time  
<br>17816: Menu appears then dissapprears with click after Alt.  
<br>17832: Vertical Scrollbar clipped  
<br>17834: JavaDoc API bad for Image  
<br>17835: Smalltalk code around :)  
<br>17928: NPE on addressbook example  
<br>17932: Emulated Coolbar do not resize when the last item on the row is removed
<br>17933: Emulated Coolbar chevron too narrow on Photon  
<br>18005: BusyIndicator should check args  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 040 - Tuesday May 21, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
3554: TP125: weird tab order in create project wizard (1G83VP8)  
<br>4424: Table draws a stray pixel in top left corner (1FS9QBQ)  
<br>4476: No syncExec runnables run during scrolling (1FMGG2X)  
<br>4528: Need FocusIn event for OleClientSite (1FW2S00)  
<br>4586: Use checkWidget() more often (1G80URQ)  
<br>4609: FillLayout should have FillLayout(type) constructor (1G9XBPI)
<br>4694: Editor Name is missing from tab (1GET93J)  
<br>4726: CODE CHANGES AFTER THE FREEZE (1GF9YF0)  
<br>4788: Feature request: styled tree items (1GIGJK4)  
<br>4789: XP - Look and feel problems (1GIGGKM)  
<br>4831: DND not working properly (1GJYOZC)  
<br>4838: Can create FontData with null name string (1GKA93P)  
<br>4941: Focus callback during OleClientSite deactivate call  
<br>4942: Combo selection index should move when upper item removed (1GLGA41)
<br>5910: Toolbar with all items disabled still shows up in tab order  
<br>5936: Composite.setTabList should accept null  
<br>6198: Focus lost in tab folder when switching pages  
<br>6406: J IME positioning incorrect
<br>6514: Code assist behaves differently on Linux  
<br>6856: Default buttons different on Variable dialog  
<br>8162: Accessibility: focus goes missing in CVS location wizard  
<br>8791: Overaggressive focus grabbing  
<br>9141: WorkBench->Preference dialog's buttons font is too small.  
<br>9287: Combo.setText does not work
<br>10491: Bold button will not bold text in SWT TextEditor Example  
<br>11074: EventTable.sendEvent should probably use try/finally  
<br>11349: Editor Tabs should fill to the right.  
<br>11369: Coolbar feature requests  
<br>11516: ViewForm should override computeTrim
<br>11738: growing status bar
<br>11847: OLE Editor prevents navigation without keys  
<br>12398: Accessibility problems  
<br>12641: Error in .classpath for Photon  
<br>12904: Accessible resizing of Views should move/change the Display's Cursor
<br>12972: Noticed increased number of Eclipse crashes  
<br>13622: DCR - need ability to cancel window system shutdown
<br>14449: [M5] error bringing up Code Formatter page  
<br>14546: TableColumn alignment problem with Motif  
<br>14656: Repaint of window does not wotk with IME up
<br>14801: Mnemonic character doesn't work on TabFolder on QNX  
<br>15124: NPE: Label Decorations preference page  
<br>15134: Open Type dialog has wrong initial focus  
<br>15172: focus not on text field for OpenTypeDialog  
<br>15224: FileDialog does not return the file selected on PocketPC  
<br>15237: Coolbar - corrupts wrap layout when items deleted  
<br>15513: CCombo.setTooltipText() doesn't work  
<br>15516: GP - Eclipse crashed  
<br>15575: Tree with checkbox items are not accessible  
<br>15613: Copy/paste inserts NULL  
<br>15705: Editor with focus, tab text disappears sometimes
<br>15872: Editor area frame should align with open editor's, excluding drop shadow
<br>15989: Coolbar walkback when adding item
<br>16069: Can't see source in imported binary SWT  
<br>16210: Core Dump Occurred while in Open Type dialog  
<br>16245: CTabFolder - tooltips and arrowing around
<br>16281: Eclipse does not come up
<br>16297: Wrong tab order in newer builds
<br>16318: Can't activate views; losing events
<br>16465: Stack Overflow when importing a project
<br>16523: Unable to double-click
<br>16525: Eclipse does not layout properly
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 039 - Tuesday May 14, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
6103: Menu mnemonics don't work when toolbar has focus  
<br>8805: Context menus and finding references to methods  
<br>14823: Drag&Drop: need way to set the default behvaiour of a drop o  
<br>15055: Column Header Height in a Table or Table Tree SWT widget  
<br>15253: Linux GTK 2 library not found  
<br>15274: Can't add external jar in Linux-GTK version  
<br>15603: Preference page no longer resizes to fit contents  
<br>15634: Table not acting like list when last column deleted  
<br>15637: Cheese in Table when setting column image  
<br>15643: Cheese in Table when changing font  
<br>15705: Editor with focus, tab text disappears sometimes  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 038 - Tuesday May 7, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
6391: Display.getActiveShell() can answer wrong value  
<br>7170: Tab space size problem  
<br>8542: Close perspective with mouse isn't possible  
<br>8591: Editor tabs should scroll automatically to fill available tab space
<br>8648: StyledText - Caret can be hidden under scrollbar  
<br>10263: Editor keeps scrolling after mouse up  
<br>12226: Solaris - can't copy file into same directory  
<br>12360: TraverseEvent e.doit doesn't turn off on TabFolder  
<br>12952: Alt+{char} gets inserted as text  
<br>13614: JFace Tables have an extra column  
<br>13651: Printed output issues  
<br>13725: Revert is much slower than close and re-open in java editor.  
<br>14431: TableViewer inconsistent when clicking off of item list  
<br>14866: Shift-selection doesn't work immediately after restart  
<br>14880: Column resize problems/cheese  
<br>14902: Executable launcher does not restart  
<br>14935: EmulatedWidgetTests fail on Linux  
<br>14937: Launch from New Office Document hangs until Eclipse exits.  
<br>14964: StyledText - add new API for replacing style ranges  
<br>14981: Focus not set anymore  
<br>15057: getSystemColor(SWT.COLOR_WIDGET_FOREGROUND) always returns black
<br>15115: removeColumn are broken in Emulated Table  
<br>15141: Tab is caught by read only text  
<br>15150: Progress bar behaves erraticaly
<br>15208: StyledText - text change even mechanism poorly documented  
<br>15348: GPF in OS.MoveMemoryW  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 037 - Tuesday April 30, 2002

<h2>
<a NAME="LIBRARY LOCATION CHANGE"></a>LIBRARY LOCATION CHANGE</h2>

As of this build, libraries are no longer in the org.eclipse.swt plugin.

<p>Libraries can now be found in the associated windowing system fragment which to date are:
<ul>
<li>org.eclipse.swt.win32 
<li>org.eclipse.swt.motif
<li>org.eclipse.swt.photon
<li>org.eclipse.swt.gtk
<li>org.eclipse.swt.gtk1x
</ul>

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4641: Icon lookup fails for some windows icon paths (1GD2DEY)  
<br>4802: StyledText - Bidi Support Open Issues (1GIZ5G3)  
<br>4842: Can't launch external editors. (1GKEYOE)  
<br>6098: EXCEPTION_ACCESS_VIOLATION running Eclipse  
<br>6858: GP - Crash VM  
<br>8826: GPF - closing a Java editor  
<br>8837: Window position changed incorrectly in Shell.open()  
<br>9297: Eclipse crashed  
<br>11374: gp: Crash in swt-win32-2026.dll  
<br>11587: BIDI:Java editor and Text editor: User Interface issues.  
<br>12811: TableColumns don't pack properly  
<br>13200: gp - MoveMemory error on Windows XP  
<br>14049: gp - Crash in OS.MoveMemoryW  
<br>14220: gp - Crash closing editor  
<br>14245: gp - crash while debugging (NRCRASH)  
<br>14249: Exception while stepping  
<br>14280: Unsatisfied Link Errors running libswt-pi-gtk-2034.so on Linux/Gtk 2.0
<br>14425: Font dialog exception  
<br>14528: Problem with Label.computeSize.  
<br>14538: StyledText - bidi - change backspace and delete behavior  
<br>14813: ClassCastException creating a new Run configuration  
<br>14872: ArrayIndexOutOfBoundsException in TableItem.insertColumn  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 036 - Tuesday April 23, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4834: DCR - mnemonics do not work on tabbed pages (1GK7O0N)  
<br>7189: Method highlight in border does not match the method  
<br>8253: Right clicking does not bring up context menu  
<br>8306: Inconsistencies in SWT example descriptions  
<br>8538: Mismatch between selected tab and displayed tab  
<br>8544: Some problems with the editor-pane (repaint, focus)  
<br>9360: Text entry in cvs comment dialog can't deal with quick typing
<br>9794: Linux-GTK KeyEvents bad/different from the other platforms
<br>12947: Color Preferences in Preferences->Java->Editor  
<br>13826: Performance issue in Table.RemoveAll()  
<br>13922: Eclipse crashes when running LayoutExample  
<br>13999: StyledText - appending single line data doesn't update properly
<br>14047: StyledText - inefficient redraw during text change with word wrap
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 035 - Thursday April 18, 2002

<h2>
<a NAME="New APIs"></a>New APIs</h2>
<ul>
<li>Display.setCursorLocation</li>
<li>GridLayout(int,boolean)</li>
</ul>

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4602: GridLayout should have GridLayout(numColumns) constructor (1G9Z73D)
<br>8549: org.eclipse.core.resources 4 Unhandled exception caught in event loop
<br>9029: GC.setClipping(Rectangle) should handle null argument on GTK  
<br>10590: GTK Version / Tree View blanks...  
<br>10715: Code Assist dialog hide after press and release CTRL + SPACE  
<br>11182: Property Sheet does not allow editing when there is only one property
<br>11515: computeTrim and getClientArea are inconsistent in CTabFolder  
<br>11713: Descriptions in preference pages aren't aligned  
<br>11715: Tab doesn't switch fields on gtk  
<br>11835: Strange behaviour of backspace in new Java Class dialog  
<br>11935: Can't Ctrl+Tab out of PDE Editor's dependencies page  
<br>12073: Moving shell above other shells does not work.  
<br>12882: DCR: Set Cursor location programmatically for accessibility  
<br>13194: Usability: editor tabs  
<br>13384: NPE on launching  
<br>13432: OleControlSIte doesn't propagate WM_SETFOCUS message to an ActiveX control
<br>13639: Controls do not appear in tool items  
<br>13800: Can not get FocusEvent from Combo  
<br>13982: Eclipse won't start on GTK2  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 034 - Tuesday April 9, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
6774: WinCE - items regarding Pocket PC (including 2002) integration
<br>8806: Moving views is difficult  
<br>9245: ToolItems in a ToolBar not displaying images on WinCE  
<br>9616: Resize column leaves some cheese in the table  
<br>10603: Add Breakpoint keeps prompting me  
<br>10937: Converter problem on Solaris  
<br>11520: ShellAdapter.shellDeactivated() never called on Linux-Motif  
<br>11734: Focus not on "Finished" button  
<br>11940: Down arrow does not access drop-down portion of toolbar buttons
<br>12241: Codeassist disappear after a few seconds  
<br>12573: Table sends selection event twice when in TabFolder
<br>12787: Changing a menu item's text makes its icon disappear  
<br>12885: Label as a seperator doesn't resize properly  
<br>13006: Alt+1 with blank TabFolder results in NPE  
<br>13014: SetToolTipText called multiple times does not resize.
<br>13049: CTabFolder focus traversing is busted  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 033 - Tuesday April 2, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
12446: SWT Table Column Image Corruption  
<br>12447: Tree.getSelection() is slow for large trees  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 032 - Thursday March 28, 2002

<h2>
<a NAME="StyledText Bidi Printing"></a>StyledText Bidi Printing</h2>
<blockquote>
<p>Support has been added for printing the contents of a StyledText widget on
bidirectional language Windows platforms.</p>
<p> Note however that printing English or local language text does not work properly with some
printer drivers when using a non-TrueType font. This has been noticed on Windows
NT systems with the HP Laserjet 4 series printer driver. Please use a TrueType
font if text is printed garbled .  
<br></p>
</blockquote>

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4467: DCR - Tree missing keyboard support (1FJH5GY)  
<br>4525: Property viewer doesn't adapt to bg color changes (1FX8XL1)  
<br>10317: StyledText - bidi printing support  
<br>10483: SWT ControlExample DirectoryDialog does not choose directories
<br>11081: Java Source Editing with Greek Locale no longer works  
<br>11549: Create project does not allow creation of folder in its project selection
<br>12099: Accessibility : JAWS can not read TabItem's text  
<br>12231: DND : Drag and Drop busted (mouse capture not released)  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 031 - Monday March 18, 2002

<h2>
<a NAME="New APIs"></a>New APIs</h2>
<ul>
<li>ScrolledComposite.getOrigin</li>
<li>ScrolledComposite.setOrigin</li>
<li>Variant.getType</li>
</ul>

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
7500: Display.getBounds() calls from another thread give incorrect results
<br>10273: NPEs caused by unitialized 'item' field in event
<br>10481: View will not Size via Pull Down
<br>10511: Add programmatic scrolling to ScrolledComposite
<br>10942: Launcher should autodetect gtk only installation.
<br>11051: Invalid token pasting in callback.c
<br>11090: CLabel Javadoc says SmartLabel
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 030 - Tuesday March 12, 2002

<h2>
<a NAME="New APIs"></a>New APIs</h2>
<ul>
<li>OleControlSite.addEventListener(OleAutomation,int,OleListener)</li>
<li>TableItem.getForeground()</li>
<li>TableItem.getBackground()</li>
<li>TableItem.setForeground(Color)</li>
<li>TableItem.setBackground(Color)</li>
<li>TreeItem.getForeground()</li>
<li>TreeItem.getBackground()</li>
<li>TreeItem.setForeground(Color)</li>
<li>TreeItem.setBackground(Color)</li>
<li>TableTreeItem.getForeground()</li>
<li>TableTreeItem.getBackground()</li>
<li>TableTreeItem.setForeground(Color)</li>
<li>TableTreeItem.setBackground(Color)</li>
</ul>

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
8737:  No Selection event when DND starts
<br>9950:  ColorDialog weird behavior
<br>9959:  Persistent Eclipse NPE on startup
<br>9993:  OleControlSite is not powerful enough
<br>10420: Mouse and DND Event notification out of order
<br>10480: Unable to open files with "System Editor"
<br>10482: View will not Move via Pull Down
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 029 - Tuesday March 5, 2002

<h2>
<a NAME="New APIs"></a>New APIs</h2>

<b>Note:</b> The new Accessibility API is experimental, and will likely change.
<ul>
<li>Control.getAccessible() added</li>
<li>package <b>org.eclipse.swt.accessibility</b> added, containing the following classes:<ul>
<li>Accessible</li>
<li>ACC</li>
<li>AccessibleListener</li>
<li>AccessibleAdapter</li>
<li>AccessibleEvent</li>
<li>AccessibleControlListener</li>
<li>AccessibleControlAdapter</li>
<li>AccessibleControlEvent</li>
</ul></li></ul>

Here are two examples that use the accessibility API:<ul>
<li>For a control with no child items:
<code><pre>
		button.getAccessible().addAccessibleListener(new AccessibleAdapter() {
			public void getName(AccessibleEvent e) {
				e.result = "My Button Label";
			}
		});
</pre></code></li>

<li>For a control that has child items:
<code><pre>
		list.getAccessible().addAccessibleListener(new AccessibleAdapter() {
			public void getName(AccessibleEvent e) {
				if (e.childID == ACC.CHILDID_SELF) {
					e.result = "My List Label";
				} else {
					e.result = "My List Item Label: " + list.getItem(e.childID);
				}
			}
		});
</pre></code></li></ul>
<b>Note:</b> The API involving the AccessibleControlXxx classes is more complex, and more likely to change. 
It is unlikely that application code will need to use it. 
It is primarily for the use of custom control implementors.

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4436: Grid Layout Problem (1FOLZZE)  
<br>4666: DCR - Need a way for child shells to disable ESC closing (1GE8RXW)
<br>4790: XInitThreads causes japanese input method to hang (1GIRYR6)
<br>4775: XInitThreads causes X printing to hang (1GITBQL)
<br>4454: DCR: Tables need to support cell editing (1FGPLPP)
<br>10002: Detection of CDE as active WM is platform-specific  
<br>10426: Esc traverse does not go up hierarchy  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 028 - Thursday February 28, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4688: J - Font Dialog does not select a font when selecting a font family (1GET5BW)
<br>7139: FontDialog: Selected font not used  
<br>8865: Exception when creating a ToolItem with a null image in Linux
<br>10250: Slider with VERTICAL orientation - down arrow increments  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 027 - Tuesday February 26, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
6409: Node selection in package view  
<br>8389: MouseUp not reported correctly if DragDetect hooked  
<br>9364: Exception in StyledText  
<br>9773: Font and Color dialogs do not appear centred on parent  
<br>9950: ColorDialog weird behavior  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 026 - Tuesday February 12, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
6679: Image.getImageData() not implemented  
<br>7962: SWT.getPlatform() javadoc incorrect for return description  
<br>8984: CTabFolder.MIN_TAB_WIDTH should not be static  
<br>9022: Linux: Tree Viewer does not get defualt Selection  
<br>9072: Table Tree does not pick up windows settings changes  
<br>9091: StyledText in SINGLE mode should look more like a Text widget  
<br>9172: SWT AddressBook Example calls undefined method
<br>9432: The doc for Tracker widget should specify that rectangles are in screen coordinates
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 025 - Tuesday February 5, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
2430: Sorting the Tasks List should display icon for sort key/order (1GF5TQO)
<br>4485: DCR - Table column header decoration capability needed (1FOQQM8)
<br>6035: Difference in tree "expanded state" between Windows and Motif
<br>6983: Browse button in Import->Plugins not working.  
<br>7400: Single line text fields not firing "Key Pressed" events for the Enter, Up(arrow), and Down(arrow) keys
<br>8173: Accessibility: keyboard-invoked popup menu not usable  
<br>8196: Accessibility: shift+F10 does not display view menu  
<br>8273: Horizontal scorllbar does not allow scrolling when required  
<br>8396: WINCE: Menu bar obscures control when control location is 0,0
<br>8397: WINCE: Menu item colors don't match menu bar  
<br>8412: WINCE: Background color of buttons looks wrong  
<br>8640: GP: opening Synchronization perspective  
<br>8942: Wrong text indent in a table when use image  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 024 - Tuesday January 29, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4654: VAJ hangs when dragging from file manager to the desktop. (1GDQFZ6)
<br>4720: Eclipse freezes during drag & drop operation (1GF7RRH)  
<br>4724: GP - Fatal app error - renaming resource on linux (1GF7TXO)  
<br>4736: Fix printing (1GFW2CW)  
<br>4817: Need JavaDoc comments for SWT Photon (1GJLEU0)  
<br>6835: Characters ��� and � doesn't work in Java editor on Swedish  
<br>8255: Closing paint viewer causes internal error  
<br>8410: Black color become transparent in ToolBar images  
<br>8503: StyledText - cheese if resize in word wrap tries to keep partial top line
<br>8547: Intellimouse scrolling does not work in eclipse  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 023a - Thursday January 24, 2002 (Eclipse Milestone 2)

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4700: NumLock and CapsLock disable accelerators (1GETDT9)  
<br>6180: Wake mechanism broken on Motif  
<br>6873: Decorations.setImage() throws NPE on WINCE  
<br>7805: A new ImageData(from an InputStream) throwing NPE  
<br>8133: When toolbar has focus, can't use mnemonics for File menus  
<br>8213: exception: widget is disposed  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 023 - Tuesday January 22, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4610: StyledText - DCR - Word wrap (1GABS6C)  
<br>4644: Mouse click on a link displayed in embedded IE5 ActiveX is not reliable (1GD7TT2)
<br>5660: SWT default font's need to honor accesability settings  
<br>6324: SWT.CLOSE implies rendering of Minimize and Maximize buttons  
<br>6997: StyledText - mark new API  
<br>7123: Shell shows the maximize button enabled when SWT.TITLE | SWT.BORDER | SWT.CLOSE style passed
<br>7361: Add getOffsetAtLine API  
<br>7632: Tree widget doesn't select item with focus on right-click  
<br>7849: Labels on WINCE don't use background color of parent when color isn't set
<br>7867: DCR: Delete checkSubclass method from Dialog  
<br>7959: Potential problems when running on big endian machines  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 022 - Tuesday January 15, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4663: Fail to tab the views. (1GGYV8T)  
<br>4718: Tool tip is openning when on dragging. (1GF5Z7Z)  
<br>5866: Can't multiselect in Tree using keyboard  
<br>6592: Box for checkbox table items is too large when using large fonts
<br>6770: Only the left mouse button should select in a Table.  
<br>6852: StyledText - verify event character invalid value  
<br>6940: MenuShortcuts only respond to Ctrl-N  
<br>7190: Ctrl-S does not work  
<br>7458: WinCE - top level Shells created through Display.asyncexec can have incorrect Z-order
<br>7459: Caret leaving garbage  
<br>7486: Cannot use keyboard Shift Select in a Tree  
<br>7559: ScrollBar thumb is reset when ScrollBar is hidden, then shown
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 021 - Tuesday January 8, 2002

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4443: Layout: Exceptions when horizontalSpan > remaining columns (1FFC6XZ)
<br>4462: ScrollBar - vbar.setMaximum does not work after hbar is hidden (and vice versa) (1FIG5CG)
<br>4722: First editor tab missing close button (1GF7QIQ)  
<br>4755: Rebuilding launcher from another directory (1GGNRG0)  
<br>6315: Some perspective save confirmation messages cut off  
<br>6352: Editor doesn't get activated when revealing first match  
<br>6908: Menu handle leak in org.eclipse.swt.widgets.Menu.destroyItem(MenuItem)
<br>6945: Child shells not displaying on WinCE  
<br>6982: CheckedTables have no check boxes  
<br>7005: Missing methods in SWT/GTK implementation  
<br>7018: Tree does not honor SWT.CHECK style  
<br>7068: ScrollBar.setVisible(true) does not work after changing values
<br>7150: StyledText - bidi - partial styling of ligatures bug  
<br>7191: Dialogs not big enough for content  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 020 - Tuesday December 18, 2001

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4715: First help click on a chapter is ignored (1GF5TV9)  
<br>4784: MIF Files sometime fail (1GI7H7V)  
<br>4797: Table does not use System fonts (1GIV4PZ)  
<br>6635: WinCE: decorations.setMenuBar can be set only once  
<br>6685: StyledText - on setFont caret not being positioned correctly  
<br>6773: StyledText.computeSize uses display width to calculate number of visible lines
<br>6790: Touching code assist scrollbar dumps javacore  
<br>6863: Remaining issues in emulated CoolBar and CoolItem  
<br>6933: Switching to help perspective crashes the workbench  
<br>7014: Tree not accepting children  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 019 - Tuesday December 11, 2001

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4461: SWTException should overwrite printStackTrace(..) (1GLDW6P)  
<br>4493: Check multilingual support on Windows 2000 (1FQFCBQ)  
<br>4611: StyledText - StringIndexOutOfBounds exception inserting text in line break (1GEID8B)
<br>4620: Workbench does not close ActiveX control's file handle (1GB76AZ)
<br>4660: Moving  
<br>4719: Background colour of views/editors (1GF6C8Y)  
<br>4739: DCR: Provide auto-scrolling and expansion by default in the tree during DND (1GFW7NQ)
<br>4767: Tab Folders can not be toggled using keys. (1GHFCZU)  
<br>4780: YAM: Cannot read some JPEG files (1GI6ZEN)  
<br>4783: Can't scroll to the top of the navigator (1GI7GTG)  
<br>5071: Shift-TAB doesn't generate proper event  
<br>5677: Hierarchy outline has empty space  
<br>5857: Image.getImageData needs to support 15 bit color depth  
<br>6472: Table widget has empty entries  
<br>6572: Default background color of Lists and Combos not consistent with Win2K
<br>6651: Text.setSelection() doesn't actually display the selection visually for SWT.SINGLE
<br>6654: Text.getSelection() not returning correct info on WINCE  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 018 - Tuesday December 4, 2001

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4419: Widgets - Missing features and API on MOTIF (1FBPKCT)  
<br>4494: ColorDialog doesn't open in VA/Java with JDK 1.2 (1FQGM6H)  
<br>4833: Remove focus button from Table (1GK7MK4)  
<br>4860: StyledText - StyledTextBidi, BidiUtil need doc (1GL32C8)  
<br>6204: KeyListener on table does not work.  
<br>6438: StyledText - bidi - isBidi test not working on XP  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 017 - Tuesday November 27, 2001

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4714: Label draws wrong background when image is set (1GF0IC6)  
<br>5503: Tabbing broken  
<br>5986: BidiUtil handling of WM_INPUTLANGCHANGE needs to be fixed
<br>5992: Changing Java Editor font in Preference Page makes Eclipse hang or crash
<br>6171: NullPointerException in ImageLoader save method with SWT.IMAGE_JPEG
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 015 - Tuesday November 20, 2001

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4791: StyledText does not switch colour (1GILHIW)  
<br>4956: StyledText - change StyledTextBidi.toString to conform with standard SWT format
<br>5599: StyledText - redrawRange does not check range  
<br>5722: Selecting font crashes eclipse with a javacore  
<br>5815: StyledText - setFont refresh problem  
<br>5846: Combo.select does not ignore an out of range index
<br>5990: Printing single page prints entire document  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 014 - Thursday November 15, 2001

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4542: Menu accelerators CTRL+ / and CTRL + SHIFT + / don't work (1FYAF8V)
<br>4754: Arrow keys not accepted as keyboard accelerators (1GGM4U3)  
<br>5815: StyledText - setFont refresh problem  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 013 - Tuesday November 13, 2001

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
4846: StyledText - bidi - partial styling of ligatures (1GL3AWT)  
<br>4859: StyledText - bidi - provide solution for bidi coloring hack (1GL2UNC)
<br>5491: StyledText - getStyleRangeAtOffset allows offset == getCharCount
<br>5497: StyledText - ExtendedModify event not sent on setText
<br>5602: StyledText - page down causes IllegalArgumentException in invisible/small widget
<br>5615: StyledText - window start does not always work  
<br>5622: StyledText - print causes NPE when invoked on empty widget  
<br>5626: StyledText - print does not check for null Printer argument  
<br>5633: StyledText - replaceTextRange and setText do not check for null argument
<br>5664: StyledText - Single line should not accept tab  
<br>5673: StyledText - SINGLE line mode still allows some multi line cursor navigation
<br>5722: Selecting font crashes eclipse with a javacore
<br>5725: Please rename "Eclipse Launcher"  
<br>5802: EC: ControlExample does not run on Solaris  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 012 - Monday November 5, 2001

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>
<blockquote>
5470: User is lost when trying to move views around  
<br>5484: Tab no longer traverses between widgets!!!  
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 011 - Thursday November 1, 2001
<h2>
<a NAME="API Changes"></a>API Changes</h2>
<code>FontData.setLocale(Locale)</code> has been changed to <code>FontData.setLocale(String)</code>.
<ul>
<li>
J2SE code can simply create a <code>Locale</code> and invoke <code>toString()</code> to pass it onto the new <code>setLocale</code>.
<li>
CLDC code will have to form a string matching the format specified in the J2SE javadoc of <code>java.util.Locale.toString()</code>.
</ul>
Example:
<blockquote><code><pre>
Locale[] locales = {
	Locale.US, new Locale("iw", "IL"), new Locale("ar", "SA"), new Locale("ru", "RU"),
	Locale.GERMAN, new Locale("ja", "JP"),
	null,
};
// old code: fd.setLocale(locales[i]);
String locale = (locales[i] != null ? locales[i].toString() : null);
fd.setLocale(locale);
</pre></code></blockquote></p>

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>

<blockquote>
4664: StyledText does not compute correct text width (1GELJXD)  
<br>4832: German: Fonts cannot handle German characters (1GKMHHY)  
<br>4961: Preferences dialog disappears when you click on certain pages
<br>5180: Open Motif for Linux shared libraries are duplicated in Eclipse  
<br>5304: StyledText - ArrayIndexOutOfBoundsException in StyledTextBidi.segmentedRangesFor
</blockquote>


<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 010 - Thursday October 25, 2001

<h2>
<a NAME="Behaviour change"></a>Behaviour change</h2>
<p>
1) The Drag Under effect of scrolling and expanding items as you drag over the <code>Tree</code> or <code>Table</code> has been added.  To enable this drag under effect, in the <code>DragOver</code> event set the <code>event.feedback</code> to have a bitwise combination of <code>DND.FEEDBACK_SCROLL, DND.FEEDBACK_EXPAND</code> and (<code>DND.FEEDBACK_SELECT, DND.FEEDBACK_INSERT_BEFORE, DND.FEEDBACK_INSERT_AFTER</code>) - where the last three items are mutually exclusive.
<blockquote><code><pre>
target.addDropListener (new DropTargetAdapter() {
	public void dragOver(DropTargetEvent event){
		event.feedback = DND.FEEDBACK_SELECT | DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL;
	}
}
</pre></code></blockquote></p>
<p>
2) On some operating systems it is preferred to move files in a drag and drop operation rather than for the drop target to make a copy of the file and the drag source to delete the original file.  The operation of moving the file is preformed by the drop target.  For these cases, the new drop type <code>DND.DROP_TARGET_MOVE</code> has been added.  The Eclipse <code>DropTarget</code> does not support this behaviour but the Eclipse <code>DragSource</code> can recognize this scenario.  If another application has chosen to move the file rather than copy/delete, the <code>DragFinished</code> event on the <code>DragSource</code> will have an <code>event.detail</code> value of <code>DND.DROP_TARGET_MOVE</code>.
<blockquote><code><pre>
source.addDragListener (new DragSourceAdapter () {
	public void dragFinished(DragSourceEvent event) {
		if (event.detail == DND.DROP_TARGET_MOVE) {
			// clean up presentation but do not delete underlying file
		}
	}
}
</pre></code></blockquote></p>

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>

<blockquote>
1767: Display ASCII for values greater than 127 fails (1GLE8I5)  
<br>4725: FontData spec should disallow null name (1GL34H3)  
<br>4844: Tab appears narrower than space (1GL2WTY)  
<br>4852: German: Cannot start Eclipse in Linux 7.2 (1GKYY99)  
<br>4865: TableTreeEditor.getItem returns an item after setting it to null (1GLE0IQ)
<br>4932: StyledTextBidi has equals but no hashCode method  
<br>4957: StyledText - implement StyledTextBidi.isLigated  
<br>5132: StyledText - remove hardcoded margin  
<br>5178: Change BidiUtil calls to handle true Unicode/Windows CE changes
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 009 - Thursday October 18, 2001

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>

<blockquote>
4444: EWT - incorrect selection feedback when the item's text is changed (1FFP3U2)
<br>4446: DCR - GridBagLayout compatible LayoutManager (1FGCPO2)  
<br>4762: StyledText - default lineStyler remove line background color hack (1GHBMUV)
<br>4819: StyledText - bidi - cursor navigation (1GJLKSN)  
<br>4820: StyledText with style SINGLE does not handle CR/LF well (1GJM2Z5)
<br>4855: Severe: Check boxes are black (1GL0XSI)  
<br>4909: EC: Combo.setText doesn't work on Linux  
<br>4910: EC: Combo.select() fires a selected event on Linux only  
<br>5045: Control.moveAbove() throws NPE if argument is null  
</blockquote>


<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 008 - Thursday October 11, 2001

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>

<blockquote>
1GLDQYB: SWT:WIN - Text widget with DND enabled, MouseDown but no MouseUp
<br>1GLADBK: SWT:ALL - StyledText - getOffsetAtLocation should throw exception
<br>1GL4ZVE: SWT:ALL - StyledText - getOffsetAtLocation(getLocationAtOffset(N)) != N
<br>1GKO6NY: SWT:ALL - Backspacing in StyledText does not fire selection changed
<br>1GKB1OC: ITPJUI:ALL - Error in JavaDoc hover help
<br>1GK9API: SWT:ALL - StyledText - bidi - numbers,mixed LtoR/RtoL text and caret positioning
<br>1GJLQ16: SWT:ALL - StyledText - bidi - backspace and delete behavior
<br>1GIK7D4: SWT:ALL - StyledText - Selection cleared when deletion disallowed by verify listeners
<br>1GDOMBI: SWT:WINNT - StyledText - redrawRange() doesn't checkWidget
<br>1GDKK3R: SWT:WINNT - StyledText - setCaretOffset and line delimiters bug
<br>1FMRQOT: SWT:ALL - No null argument checks in Dialog constructors
</blockquote>


<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 007 - Thursday October 4, 2001

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>

<blockquote>
1GKZH74: ITPJUI:WIN2000 - Disappearing Stop icon
<br>1GKZ8CV: SWT:WINNT - setSelection triggers SelectionChanged event
<br>1GKU4C5: SWT:ALL - StyledText - bidi - scrolling to show cursor should take cursor direction into account
<br>1GKPYMK: SWT:WINNT - StyledText - bidi - caret moves when switching keyboard from Hebrew to Arabic
<br>1GKOGQO: SWT:ALL - Javadoc: setSelection in Button and ToolItem
<br>1GKM2O5: SWT:WINNT - StyledText - bidi - ArrayIndexOutOfBounds exception in StyledTextBidi.isRightToLeft
<br>1GKM193: SWT:WINNT - StyledText - bidi autoscroll left does not always scroll all the way to the left
<br>1GKKC0U: SWT:ALL - Tracker calls OS.DispatchMessage(msg) on windows but does not on Linux.
<br>1GIVAXX: SWT:ALL - StyledText - Editors should support shift-backspace
<br>1GELQ14: SWT:WINNT - StyledText - DefaultContent - handle weird line delimiter cases
<br>1GE8LG0: SWT:Linux - Toolbar is not showing the separators.
</blockquote>


<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 006 - Thursday Sept 27, 2001

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>

<blockquote>
1GHWA19: SWT:WINNT - Problem with callbacks from CCombo
<br>1GHFDPV: SWT:WIN2000 - Setting selection in Table does not update focus item
<br>1GF644V: ITPUI:Linux - Unzoom is changing the active editor.
<br>1GKM3XS: SWT:WINNT - StyledText - bidi autoscroll left: selection reset on mouse move
</blockquote>


<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 005 - Friday Sept 21, 2001

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>

<blockquote>
1GK09Z0: SWT:Linux - setEnabled(false) has no effect on aToolbar
<br>1GJZZS6: SWT:Linux - File Dialog returns a directory
<br>1GF7SMC: ITPUI:Linux - Wrong bg for close button on editor tab
</blockquote>


<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 004 - Thursday Sept 13, 2001

<h2>
<a NAME="API Behaviour change"></a>API Behaviour change</h2>
The behaviour of dispose for GCs has been modified such that attempting to dispose of
a GC on a control <em>after</em> the control has been disposed will generate an
SWTException.  This fixes an OS resource leak and potential GPF situation.

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>

<blockquote>
1GJUAKL: SWT:Neutrino - Control.internal_new_GC() needs !isValidWidget() check
<br>1GJN52N: SWT:Linux - Text prints system error message for horizontal scrollbar
<br>1GJBOAV: SWT:ALL - ScrolledComposite bugs
<br>1GIXELI: SWT:ALL - Need Caret to allow bitmaps so bidi caret can be created
<br>1GI5O1T: SWT:WINNT - Composite.setFocus takes focus when it should not
<br>1GHOND7: SWT:WIN2000 - Selection problem with single-selection trees
<br>1GHG990: SWT:ALL - Probable bug in Slider page increment setting
<br>1GENJ60: SWT:ALL - ScrolledComposite should include example in its class comment
<br>1GEA7K7: ITPUI:Linux - Default button not working
</blockquote>


<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 003 - Friday Sept 07, 2001

<h2>
<a NAME="New APIs"></a>New APIs</h2>

<blockquote>
FontData.setLocale(java.util.Locale) added
<br>Caret.getImage() added
<br>Caret.setImage(Image) added
<br>GC.fillGradientRectangle(int, int, int, int, boolean) added
</blockquote>

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>

<blockquote>
1GJM7KM: SWT:Linux - Table and Tree return a different size for every second call to computeSize
<br>1GJLKHE: SWT:SPARC - GP on "Installed JREs" preference page
<br>1GJLK63: SWT:ALL - StyledText - bidi - keyboard switching
<br>1GJLE36: SWT:WINNT - Alpha data redrawing improperly after occlusion
<br>1GJA2L7: SWT:WIN - Different behavior for GC.drawString() args on Win vs. Photon
<br>1GIZ0P6: SWT:WINNT - GC.drawImage() problem with transparent pixels
<br>1GIXELI: SWT:ALL - Need Caret to allow bitmaps so bidi caret can be created
<br>1GI7FQF: SWT:ALL - Can't set focus to Tasks View by Keyboard
<br>1GI7EBL: SWT:Linux - api typo: ToolItem>>getDisabledmage()
<br>1GI3P86: SWT:ALL - Semantic differences between emulated Table and Tree codebase on Motif and Photon
<br>1GI1WEA: SWT:Neutrino - Text selection code not working correctly
<br>1GHWED2: SWT:WINNT - GC.stringExtent() not correct for Windows Arial font
<br>1GHWB7G: SWT:Linux - Linux font dialog doesn't open with given values.
<br>1GHVRFY: SWT:Neutrino - Text#ClearSelection changes the CaretPosition in a SINGLE-line widget
<br>1GHVLV6: SWT:Neutrino - Text#SetTopIndex and getTopIndex inconsistent
<br>1GHOJ6T: SWT:Neutrino - Text#setSelection inconsistent between SINGLE and MULTI
<br>1GHBLRA: SWT:Neutrino - Display.getBounds() returns incorrect info
<br>1GH48UQ: SWT:Neutrino - Enter key does not insert new line with Text.MULTI widget
<br>1GGT0TM: SWT:Neutrino - GC#drawArc inconsistent between NT and NTO
<br>1GG1DBT: SWT:SPARC - Solaris loses input characters
<br>1GG07HW: SWT:Linux - Tree.getItem() modifies its argument on Motif
<br>1GG0069: SWT:Linux - Weird layout issues seen in Control Example
<br>1GFZZLK: SWT:Linux - ToolItems not disabled when containing ToolBar is disabled
<br>1GFZU3X: SWT:ALL - ImageLoader.load(String) not closing file input stream
<br>1GFZPDP: SWT:Linux - Combo box with SWT.SIMPLE style does not respect Disabled flag (visually)
<br>1GFW85H: SWT:ALL - Printer.getPrinterData() has stale comment
<br>1GFW6MQ: SWT:ALL - DCR: Program class needs .equals() and .hashCode()
<br>1GFW4YN: SWT:ALL - Help KevinH add printing to Eclipse
<br>1GFQKDT: SWT:ALL - Image.setBackground() / getBackground() asymmetry
<br>1GFONVW: SWT:Linux - Empty Combo should not fire Selection event
<br>1GFL0HP: SWT:Linux - Remaining items in SWT comments to fix
<br>1GET90D: SWT:Linux - SWTExceptions bring down Eclipse
<br>1GESQBK: ITPJUI:WINNT - How to get access to pop-up menus of the Java editor ?
<br>1GELX4A: ITPUI:ALL - Hover help is not visible if pane is dragged out of workbench
<br>1GEHWAF: ITPUI:WIN2000 - Can't enter text in a Swing TextField or TextArea
<br>1GE5ECJ: ITPUI:WIN2000 - Hover help for title bar buttons appears behind detached view
<br>1GDX7R8: ITPUI:ALL - SWT setText() does NOT have any way to avoid making mnemonics.
<br>1GD5UHA: SWT:WIN2000 - Double-clicking on toolbar item gives double-click event on toolbar
<br>1GBXIEO: SWT:ALL - DCR: Include cursor pos in Tracker move event
<br>1G4IMQ3: SWT:WINNT - Table images incorrect after rapid removal and creation
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 002 - Wednesday July 18, 2001

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>

<blockquote>
1GGZ13T: SWT:Neutrino - invalid mouse state occuring in Photon
<br>1GGRCCS: SWT:Neutrino - Label does not wrap in SWT0125
<br>1GGAON2: SWT:ALL - Scaling image with alphas does not work correctly
<br>1GFZQVQ: SWT:Linux - Vertical ProgressBar grows incorrectly
<br>1GFQA18: SWT:Linux - Cheese with GC drawRoundedRectangle() on Motif
<br>1GFPK6G: SWT:Linux - Motif fillPolygon() specifies improper hint
</blockquote>

<h1>
Eclipse Platform Build Notes<br>
SWT</h1>
SWT Build 2.0 001 - Thursday July 12, 2001

<h2>
<a NAME="Problem reports fixed"></a>Problem reports fixed</h2>

<blockquote>
1GGET76: SWT:Neutrino - Canvas does not respond to setFocus()
<br>1GGAS5P: SWT:Neutrino - Photon on QNX 6.1.x needs SWT native changes
<br>1GG96RO: SWT:Neutrino - drawOval and fillOval not compatible
<br>1GG8ZLV: SWT:WINNT - drawOval behaves differently on Windows vs. other platforms
<br>1GFKYD9: SWT:Linux - -HANG- (Xserver) When perfoming display.wake() in a DND dragStart()
<br>1GFKK37: SWT:Linux - FileViewer examples issues
<br>1GFBHX6: SWT:ALL - CTabItem tool tip flashing
<br>1GF9ZMT: SWT:SPARC - 8-bit Icons are losing colors
<br>1GF9ZJG: SWT:SPARC - Icons are being masked incorrectly on Solaris
<br>1GF9YHD: ITPUI:WIN2000 - SWTException: help view
<br>1GF9Y32: SWT:SPARC - 24-bit MSB Icons are wrong color (greenish)
<br>1GF0D05: SWT:Linux - GPFs when running JUnit TestRunner in J9 AWT
<br>1GEUZZC: SWT:ALL - "Name" of plugin inconsistant with other plugins
<br>1GETDP5: ITPUI:Linux - NPE while closing editor on linux
<br>1GDVRT5: SWT:Neutrino - Alpha channel memory leak
<br>1GDRXZR: ITPJUI:Linux - SWT: Context-Menus issue under Linux 
<br>1GD0OSK: SWT:ALL - API - package javadoc for SWT packages missing
<br>1GCHS75: SWT:WINNT - workbench exits during expand collapse
<br>1GCFUS0: SWT:ALL - CTabFolder "floating" X sticks sometimes
<br>1GAR95O: SWT:ALL - Remove Smalltalk comments from SWT code
<br>1GAQRND: SWT:ALL - DOC: Write good Javadoc comments for all of SWT
<br>1G97I28: SWT:Linux - Tool bar buttons do not always work
<br>1G84AZB: ITPDUI:ALL - Rename truncates name
<br>1G845EZ: SWT:WIN2000 - Spec for Layout.computeSize() is truncated
<br>1G7YXLB: SWT:WIN - StyledText - NLS Support
<br>1G7NSHR: SWT:ALL - Widget.addListener(int, Listener) vs. adding typed listeners
<br>1G4XDJO: SWT:Linux - Tree needs to display an insert marker
<br>1G0Y8NZ: SWT:ALL - Combo box doesn't send key and mouse events 
<br>1FXAVLF: SWT:WINNT - Disabled toolbar icons don't adapt to appearance changes
<br>1FV1S18: SWT:ALL - Need more WM_* messages passed to ActiveX Control
<br>1FTWX55: SWT:ALL - Inconsistant commenting of which SWT objects need to be disposed.
</blockquote>
<a href="hglegal.htm"><img SRC="ngibmcpy.gif" BORDER=0 height=12 width=195></a>
</body>
</html>
