mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-23 08:55:25 +02:00
Dispose image
Fixes cases that cause stack trace like this when opening terminal connection dialog and selecting ssh type: ```java !ENTRY org.eclipse.ui.ide 4 4 2023-04-13 15:57:20.632 !MESSAGE Not properly disposed SWT resource !STACK 0 java.lang.Error: SWT Resource was not properly disposed at org.eclipse.swt.graphics.Resource.initNonDisposeTracking(Resource.java:172) at org.eclipse.swt.graphics.Resource.<init>(Resource.java:120) at org.eclipse.swt.graphics.Image.<init>(Image.java:605) at org.eclipse.jface.resource.URLImageDescriptor.createImage(URLImageDescriptor.java:300) at org.eclipse.jface.resource.DeferredImageDescriptor.createImage(DeferredImageDescriptor.java:85) at org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:290) at org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:268) at org.eclipse.tm.terminal.view.ui.panels.AbstractExtendedConfigurationPanel.createHostsUI(AbstractExtendedConfigurationPanel.java:400) at org.eclipse.tm.terminal.connector.ssh.controls.SshWizardConfigurationPanel.setupPanel(SshWizardConfigurationPanel.java:79) at org.eclipse.tm.terminal.view.ui.internal.dialogs.LaunchTerminalSettingsDialog$SettingsPanelControl.showConfigurationPanel(LaunchTerminalSettingsDialog.java:124) at org.eclipse.tm.terminal.view.ui.internal.dialogs.LaunchTerminalSettingsDialog$1.widgetSelected(LaunchTerminalSettingsDialog.java:317) ```
This commit is contained in:
parent
45a6e7957b
commit
a9a7e8b027
1 changed files with 7 additions and 2 deletions
|
@ -36,6 +36,7 @@ import org.eclipse.swt.SWT;
|
|||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.events.SelectionListener;
|
||||
import org.eclipse.swt.graphics.Image;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.widgets.Button;
|
||||
|
@ -397,8 +398,9 @@ public abstract class AbstractExtendedConfigurationPanel extends AbstractConfigu
|
|||
// deleteHostButton.setText(Messages.AbstractConfigurationPanel_delete);
|
||||
|
||||
ISharedImages workbenchImages = PlatformUI.getWorkbench().getSharedImages();
|
||||
deleteHostButton.setImage(workbenchImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE).createImage());
|
||||
|
||||
Image deleteHostButtonImage = workbenchImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE)
|
||||
.createImage();
|
||||
deleteHostButton.setImage(deleteHostButtonImage);
|
||||
deleteHostButton.setToolTipText(Messages.AbstractConfigurationPanel_deleteButtonTooltip);
|
||||
deleteHostButton.addSelectionListener(new SelectionListener() {
|
||||
|
||||
|
@ -422,6 +424,9 @@ public abstract class AbstractExtendedConfigurationPanel extends AbstractConfigu
|
|||
widgetSelected(e);
|
||||
}
|
||||
});
|
||||
if (deleteHostButtonImage != null) {
|
||||
deleteHostButton.addListener(SWT.Dispose, (e) -> deleteHostButtonImage.dispose());
|
||||
}
|
||||
|
||||
if (separator) {
|
||||
Label sep = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
|
||||
|
|
Loading…
Add table
Reference in a new issue