[197315] Refresh of the Extensions Section doesn't behave correctly
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractExtensionsSection.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractExtensionsSection.java index 8cff6f9..4abc23d 100644 --- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractExtensionsSection.java +++ b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/sections/AbstractExtensionsSection.java
@@ -412,13 +412,21 @@ extensionDetailsViewer.setInput(null); tree.removeAll(); + addButton.setEnabled(!isReadOnly); + extensionTreeViewer.setInput(input); if (tree.getSelectionCount() == 0 && tree.getItemCount() > 0) { TreeItem treeItem = tree.getItem(0); extensionTreeViewer.setSelection(new StructuredSelection(treeItem.getData())); } - removeButton.setEnabled(tree.getSelectionCount() > 0); + removeButton.setEnabled(tree.getSelectionCount() > 0 && !isReadOnly); + // Bugzilla 197315. Make this bulletproof for maintenance release. + Control detailsViewerControl = extensionDetailsViewer.getControl(); + if (detailsViewerControl != null && !detailsViewerControl.isDisposed()) + { + detailsViewerControl.setEnabled(!isReadOnly); + } } setListenerEnabled(true); } @@ -575,7 +583,7 @@ } } } - removeButton.setEnabled(isDeleteEnabled); + removeButton.setEnabled(isDeleteEnabled && !isReadOnly); } }