Index: AbstractHoverInformationControlManager.java =================================================================== RCS file: /home/eclipse/org.eclipse.ui/Eclipse JFace Text/org/eclipse/jface/text/Attic/AbstractHoverInformationControlManager.java,v retrieving revision 1.9 diff -u -r1.9 AbstractHoverInformationControlManager.java --- AbstractHoverInformationControlManager.java 26 Jun 2002 12:47:14 -0000 1.9 +++ AbstractHoverInformationControlManager.java 7 Nov 2002 13:33:10 -0000 @@ -274,7 +274,7 @@ if (fSubjectControl != null && !fSubjectControl.isDisposed()) { fSubjectControl.removeMouseTrackListener(this); fSubjectControl.removeMouseMoveListener(this); - fSubjectControl.getShell().removeShellListener(this); + fSubjectControl.getShell().removeShellListener(this); } fMouseLost= false; @@ -421,6 +421,10 @@ * @see AbstractInformationControlManager#presentInformation() */ protected void presentInformation() { + if (fMouseTracker == null) { + super.presentInformation(); + return; + } Rectangle area= getSubjectArea(); if (area != null) @@ -444,14 +448,27 @@ super.setEnabled(enabled); boolean is= isEnabled(); - if (was != is) { + if (was != is && fMouseTracker != null) { if (is) fMouseTracker.start(getSubjectControl()); else fMouseTracker.stop(); } } - + + + /** + * Disposes this manager's information control. + */ + public void dispose() { + if (fMouseTracker != null) { + fMouseTracker.stop(); + fMouseTracker.fSubjectControl= null; + fMouseTracker= null; + } + super.dispose(); + } + /** * Returns the location at which the most recent mouse hover event * has been issued.