Bug 460620 - MUIElement#isVisible() should not be used to check for
visibility of a child node
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/BasePartMenuRenderer.java b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/BasePartMenuRenderer.java
index b7f8d35..78b7bfa 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/BasePartMenuRenderer.java
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/BasePartMenuRenderer.java
@@ -86,7 +86,7 @@
Iterator<MMenuElement> iterator = elements.iterator();
while (iterator.hasNext()) {
MMenuElement element = iterator.next();
- if (element.isToBeRendered() && element.isVisible() && element.getWidget() != null) {
+ if (element.isToBeRendered() && element.getWidget() != null) {
hideChild(parent, element);
}
}
@@ -97,7 +97,7 @@
Iterator<MMenuElement> iterator = elements.iterator();
while (iterator.hasNext()) {
MMenuElement element = iterator.next();
- if (element.isToBeRendered() && element.isVisible()) {
+ if (element.isToBeRendered()) {
if (element.getWidget() == null) {
engineCreateWidget(element);
} else {
@@ -109,7 +109,7 @@
@Override
public void childRendered(MMenu parentElement, MUIElement element) {
- if (inContentProcessing(parentElement)) {
+ if (inContentProcessing(parentElement) || ! isChildAndRenderedVisible(element)) {
return;
}