private void onDispose() { if (control == null) return; this.Release(); if (controlListener != null) { control.removeListener(SWT.Dispose, controlListener); control.removeListener(SWT.DragDetect, controlListener); } controlListener = null; control.setData(DND.DRAG_SOURCE_KEY, null); control = null; transferAgents = null; }