/* * Overrides super unhookListeners to set listeners attached flag This * method prevents unhooking listeners twice if the UI thread is blocked. * For example, a validation dialog may block the thread */ protected void unhookListeners() { if (listenersAttached) { listenersAttached = false; super.unhookListeners(); ILabelDelegate label = (ILabelDelegate) getEditPart().getAdapter(ILabelDelegate.class); if (label != null && textFigureListener != null) { ((IFigure) ((WrappingLabel) getEditPart().getFigure()).getTextFigure().getChildren().get(0)) .removeAncestorListener(textFigureListener); textFigureListener = null; } } }