[117425] selection changes radically and editor scrolls when deleting an element from the source view
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLMultiPageEditorPart.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLMultiPageEditorPart.java index d6bea0a..3f46783 100644 --- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLMultiPageEditorPart.java +++ b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLMultiPageEditorPart.java
@@ -305,7 +305,7 @@ IPropertyListener fPropertyListener = null; /** The source page index. */ - private int fSourcePageIndex; + int fSourcePageIndex; /** The text editor. */ private StructuredTextEditor fTextEditor; @@ -382,14 +382,26 @@ if (fDesignViewer.getSelectionProvider() instanceof IPostSelectionProvider) { ((IPostSelectionProvider) fDesignViewer.getSelectionProvider()).addPostSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { - getTextEditor().getSelectionProvider().setSelection(event.getSelection()); + /* + * Only force selection update if source page is not + * active + */ + if (getActivePage() != fSourcePageIndex) { + getTextEditor().getSelectionProvider().setSelection(event.getSelection()); + } } }); } else { fDesignViewer.getSelectionProvider().addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { - getTextEditor().getSelectionProvider().setSelection(event.getSelection()); + /* + * Only force selection update if source page is not + * active + */ + if (getActivePage() != fSourcePageIndex) { + getTextEditor().getSelectionProvider().setSelection(event.getSelection()); + } } }); } @@ -649,7 +661,7 @@ private IPreferenceStore getPreferenceStore() { return XMLUIPlugin.getDefault().getPreferenceStore(); } - + StructuredTextEditor getTextEditor() { return fTextEditor; }