From ae7606baa1e397cbd71bc99435ed62e0e28010d9 Mon Sep 17 00:00:00 2001 From: Serge Rider Date: Fri, 23 Dec 2016 23:23:33 +0300 Subject: [PATCH] Lazy editor initialization fix --- .../ui/actions/navigator/NavigatorHandlerObjectOpen.java | 1 + .../dbeaver/ui/controls/itemlist/NodeListControl.java | 1 + .../jkiss/dbeaver/ui/editors/MultiPageAbstractEditor.java | 8 +++++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectOpen.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectOpen.java index 52ea753b81..f638cf8302 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectOpen.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/navigator/NavigatorHandlerObjectOpen.java @@ -142,6 +142,7 @@ public class NavigatorHandlerObjectOpen extends NavigatorHandlerObjectBase imple return null; } if (!selectedNode.isPersisted()) { + log.debug("Node '" + selectedNode.getNodeName() + "' s not persisted. Open not possible."); return null; } try { diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/NodeListControl.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/NodeListControl.java index 1a270c5bb3..82aff998b3 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/NodeListControl.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/NodeListControl.java @@ -427,6 +427,7 @@ public abstract class NodeListControl extends ObjectListControl impleme } else { original.setSelection(selection); } + selectionChanged(new SelectionChangedEvent(this, selection)); } @Override diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/MultiPageAbstractEditor.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/MultiPageAbstractEditor.java index 74d110eff7..4fc24127a8 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/MultiPageAbstractEditor.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/MultiPageAbstractEditor.java @@ -45,7 +45,13 @@ public abstract class MultiPageAbstractEditor extends MultiPageEditorPart public void init(IEditorSite site, IEditorInput input) throws PartInitException { - super.init(site, input); + if (getEditorInput() == null) { + super.init(site, input); + } else { + // Pages re-initialization. Do not call init bcause it recreates selection provider + setSite(site); + setInput(input); + } setPartName(input.getName()); setTitleImage(input.getImageDescriptor()); } -- GitLab