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;

 		}