# HG changeset patch # User Ed Swartz # Date 1270755089 18000 # Node ID 745221c781a342dd5fdc6d03d8fab915b8cfc323 # Parent 3356621aee34966f177aa2c5c538b8fe6a1aa5a8 Fix issues not disposing listeners in PNP launch wizard diff -r 3356621aee34 -r 745221c781a3 debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/newwizard/ConnectToDeviceDialog.java --- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/newwizard/ConnectToDeviceDialog.java Wed Apr 07 14:48:51 2010 -0500 +++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/newwizard/ConnectToDeviceDialog.java Thu Apr 08 14:31:29 2010 -0500 @@ -41,6 +41,8 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.events.ControlAdapter; import org.eclipse.swt.events.ControlEvent; +import org.eclipse.swt.events.DisposeEvent; +import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.FontMetrics; @@ -118,6 +120,15 @@ } }); manager.addConnectionListener(this); + + parent.addDisposeListener(new DisposeListener() { + public void widgetDisposed(DisposeEvent e) { + manager.removeConnectionListener(ConnectToDeviceDialog.this); + + if (currentServiceListener != null) + currentServiceListener.removeStatusChangedListener(ConnectToDeviceDialog.this); + } + }); final Composite buttonGroup = new Composite(viewerGroup, SWT.NONE); int w = Dialog.convertHorizontalDLUsToPixels(fm, IDialogConstants.HORIZONTAL_MARGIN); @@ -323,12 +334,5 @@ } }); } - - @Override - public boolean close() { - manager.addConnectionListener(this); - return super.close(); - } - }