Bug 119599 [Dialogs] Every PopupDialiog is leaked if PopupDialolg.HOVER_SHELLSTYLE or SWT.ON_TOP is set
I20051206-1200 Every PopupDialiog is leaked if PopupDialolg.HOVER_SHELLSTYLE or SWT.ON_TOP is set. Reason: a deactivate listener is added to the popup shell's parent but is never removed.
bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/PopupDialog.java
return;
		Tracker tracker = new Tracker(shell.getDisplay(), style);
		tracker.setStippled(true);
		Rectangle[] r = new Rectangle[] { shell.getBounds() };
		tracker.setRectangles(r);
		if (tracker.open()) {
			shell.setBounds(tracker.getRectangles()[0]);
		}
	}
	/**
	 * Show the dialog's menu. This message has no effect if the receiver was
	 * not configured to show a menu. Clients may call this method in order to
	 * trigger the menu via keystrokes or other gestures. Subclasses typically
	 * do not override method.
	 */
	protected void showDialogMenu() {
		if (!showDialogMenu)
			return;
		if (menuManager == null) {
			menuManager = new MenuManager();
			fillDialogMenu(menuManager);
		}
		
		
		listenToDeactivate = !"gtk".equals(SWT.getPlatform()); 
		Menu menu = menuManager.createContextMenu(getShell());
		Rectangle bounds = toolBar.getBounds();
		Point topLeft = new Point(bounds.x, bounds.y + bounds.height);
		topLeft = getShell().toDisplay(topLeft);
		menu.setLocation(topLeft.x, topLeft.y);