提交 3c0f35bf 编写于 作者: S serge-rider

Tabbed folders dispose fix

上级 55677bd1
......@@ -238,21 +238,15 @@ public class TabbedFolderComposite extends Composite implements ITabbedFolderCon
compositePane.setLayout(gl);
compositePane.setLayoutData(new GridData(GridData.FILL_BOTH));
addTraverseListener(new TraverseListener() {
@Override
public void keyTraversed(TraverseEvent e) {
FolderPane pane = getActiveFolderPane();
if (pane != null) {
pane.folderList.handleTraverse(e);
}
addTraverseListener(e -> {
FolderPane pane = getActiveFolderPane();
if (pane != null) {
pane.folderList.handleTraverse(e);
}
});
addDisposeListener(new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
for (TabbedFolderInfo folderDescription : contentsMap.keySet()) {
folderDescription.getContents().dispose();
}
addDisposeListener(e -> {
for (TabbedFolderInfo folderDescription : contentsMap.keySet()) {
folderDescription.getContents().dispose();
}
});
}
......
......@@ -27,6 +27,8 @@ import org.eclipse.jface.viewers.IFontProvider;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.graphics.Font;
......@@ -108,6 +110,7 @@ public class TabbedFolderPageProperties extends TabbedFolderPage implements IRef
progressControl.activate(false);
}
});
progressControl.addDisposeListener(e -> dispose());
}
@Override
......@@ -117,8 +120,9 @@ public class TabbedFolderPageProperties extends TabbedFolderPage implements IRef
@Override
public void dispose() {
if (curPropertySource.getEditableValue() instanceof DBSObject) {
if (curPropertySource != null && curPropertySource.getEditableValue() instanceof DBSObject) {
DBUtils.getObjectRegistry((DBSObject) curPropertySource.getEditableValue()).removeDataSourceListener(this);
curPropertySource = null;
}
UIUtils.dispose(boldFont);
super.dispose();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册