Community
Participate
Working Groups
We are using the new content assistant feature available in text controls created by cell editors (these cell editors are used at several places, e.g. in property sources, in dialogs..). Because of limitations in jface code the disposing and life time of the text controls does not work correctly. It happens that a 'glue'-handler does not install or uninstall correctly in case a table (or other controls) contains more than one content assist enabled control or in case the text control gets disposed. The code responsible for that seems to be located in: org.eclipse.jface.contentassist.AbstractControlContentAssistSubjectAdapter line 600 and following: /* * @see org.eclipse.swt.events.FocusListener#focusGained(org.eclipse.swt.events.FocusEvent) */ public void focusGained(FocusEvent e) { // install a CueHandler on every parent control if (DEBUG) System.out.println("Focus Gained: " + e.widget); //$NON-NLS-1$ if (fHoverHandler == null) { fHoverHandler= new HoverHandler(this); fControl.addMouseTrackListener(fHoverHandler); } Control c= fControl.getParent(); while (c != null) { if (DEBUG) System.out.println("install CueHandler: " + c.toString()); //$NON-NLS-1$ CueHandler cueHandler= new CueHandler(this); Assert.isTrue(c.getData(ANNOTATION_HANDLER) == null, "parent control has CueHandler: " + c.toString()); //$NON-NLS-1$ c.setData(ANNOTATION_HANDLER, cueHandler); c.addPaintListener(cueHandler); c.addMouseTrackListener(cueHandler); c.redraw(); if (c instanceof Shell) break; else c= c.getParent(); } } This code just accept only one installed control. The nice Assert statement is bothering in particular.
Which build? >Because of limitations in jface code the disposing and life time of the text >controls does not work correctly. To which bug or document do you refer? Please use a better summary next time or risk that it gets closed as WORKSFORME when the developer goes through the summary list. Reopen the bug once the additional information has been provided.
Get rid of deprecated state.
.