提交 dd4c33fd 编写于 作者: S Serge Rider

#616 Tree loading visualization fix

上级 3980868b
...@@ -19,6 +19,7 @@ package org.jkiss.dbeaver.ui.navigator.database.load; ...@@ -19,6 +19,7 @@ package org.jkiss.dbeaver.ui.navigator.database.load;
import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.jface.viewers.AbstractTreeViewer; import org.eclipse.jface.viewers.AbstractTreeViewer;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.TreeItem; import org.eclipse.swt.widgets.TreeItem;
import org.eclipse.swt.widgets.Widget; import org.eclipse.swt.widgets.Widget;
import org.jkiss.dbeaver.model.navigator.DBNNode; import org.jkiss.dbeaver.model.navigator.DBNNode;
...@@ -65,8 +66,12 @@ public class TreeLoadVisualizer implements ILoadVisualizer<Object[]> { ...@@ -65,8 +66,12 @@ public class TreeLoadVisualizer implements ILoadVisualizer<Object[]> {
@Override @Override
public void completeLoading(Object[] children) public void completeLoading(Object[] children)
{ {
final Control viewerControl = viewer.getControl();
if (viewerControl.isDisposed()) {
return;
}
try { try {
viewer.getControl().setRedraw(false); viewerControl.setRedraw(false);
Widget widget = viewer.testFindItem(parent); Widget widget = viewer.testFindItem(parent);
if (widget != null && !widget.isDisposed()) { if (widget != null && !widget.isDisposed()) {
...@@ -86,7 +91,9 @@ public class TreeLoadVisualizer implements ILoadVisualizer<Object[]> { ...@@ -86,7 +91,9 @@ public class TreeLoadVisualizer implements ILoadVisualizer<Object[]> {
} }
finally { finally {
placeHolder.dispose(parent); placeHolder.dispose(parent);
viewer.getControl().setRedraw(true); if (!viewerControl.isDisposed()) {
viewerControl.setRedraw(true);
}
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册