diff --git a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/GDBServerDebuggerPage.java b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/GDBServerDebuggerPage.java index 16a0852c1ae..9dff20db912 100644 --- a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/GDBServerDebuggerPage.java +++ b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/GDBServerDebuggerPage.java @@ -19,7 +19,6 @@ import org.eclipse.cdt.utils.ui.controls.ControlFactory; import org.eclipse.core.runtime.CoreException; import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; -import org.eclipse.jface.layout.PixelConverter; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.StackLayout; import org.eclipse.swt.layout.GridData; @@ -68,15 +67,19 @@ public class GDBServerDebuggerPage extends StandardGDBDebuggerPage { Composite comp = ControlFactory.createCompositeEx( comp1, 2, GridData.FILL_BOTH ); ((GridLayout)comp.getLayout()).makeColumnsEqualWidth = false; comp.setFont( comp1.getFont() ); + + createConnectionWidgets(comp); + } + + protected void createConnectionWidgets(Composite comp) { fConnectionField.doFillIntoGrid( comp, 2 ); ((GridData)fConnectionField.getComboControl( null ).getLayoutData()).horizontalAlignment = GridData.BEGINNING; - PixelConverter converter = new PixelConverter( comp ); fConnectionStack = ControlFactory.createCompositeEx( comp, 1, GridData.FILL_BOTH ); StackLayout stackLayout = new StackLayout(); fConnectionStack.setLayout( stackLayout ); ((GridData)fConnectionStack.getLayoutData()).horizontalSpan = 2; fTCPBlock.createBlock( fConnectionStack ); - fSerialBlock.createBlock( fConnectionStack ); + fSerialBlock.createBlock( fConnectionStack ); } private ComboDialogField createConnectionField() { @@ -189,4 +192,12 @@ public class GDBServerDebuggerPage extends StandardGDBDebuggerPage { super.createTabs( tabFolder ); createConnectionTab( tabFolder ); } + + public void dispose() { + fTCPBlock.dispose(); + fSerialBlock.dispose(); + fConnectionStack.dispose(); + fConnectionField.dispose(); + super.dispose(); + } } diff --git a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/ComboDialogField.java b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/ComboDialogField.java index e8e2674ad8e..6356ec46c4f 100644 --- a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/ComboDialogField.java +++ b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/ComboDialogField.java @@ -231,4 +231,11 @@ public class ComboDialogField extends DialogField { } } + public void dispose() { + if (fComboControl != null) fComboControl.dispose(); + if (fItems != null) fItems = null; + if (fModifyListener != null) fModifyListener = null; + super.dispose(); + } + } \ No newline at end of file diff --git a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/DialogField.java b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/DialogField.java index 92cbd3324a7..c5b99479949 100644 --- a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/DialogField.java +++ b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/DialogField.java @@ -222,7 +222,10 @@ public class DialogField { Assert.isTrue(nColumns >= getNumberOfControls(), "given number of columns is too small"); //$NON-NLS-1$ } - + public void dispose() { + if (fLabel != null) fLabel.dispose(); + if (fDialogFieldListener != null) fDialogFieldListener = null; + } } \ No newline at end of file