Bug 204788 [Contributions] Second context menu created from MenuManager does not show
Build ID: I20070621-1340 Steps To Reproduce: 1. Create a MenuManager m with some menu items. 2. Call c.setMenu(m.createContextMenu(c)) on some Control c. 3. Observe that right-clicking on c produces the menu. 4. Dispose the menu. 5. Repeat step 2. (Alternatively, install m on a different control.) 6. The menu now doesn't appear. More information: I'm using Linux/GTK. The debugger tells me that the menu is created and handleAboutToShow() is called. I can't see a problem in the Java code, but nothing appears on the screen. Maybe something is wrong in the native code? If I use a different MenuManager to create the second menu, it works fine.
bundles/org.eclipse.jface/src/org/eclipse/jface/action/MenuManager.java
} else {
                        int start = menu.getItemCount();
                        src.fill(menu, destIx);
                        int newItems = menu.getItemCount() - start;
                        for (int i = 0; i < newItems; i++) {
                            MenuItem item = menu.getItem(destIx++);
                            item.setData(src);
                        }
                    }
                    
                    
                     
                    
                    
                    
                    if (recursive) {
                        IContributionItem item = src;
                        if (item instanceof SubContributionItem) {
							item = ((SubContributionItem) item).getInnerItem();
						}
                        if (item instanceof IMenuManager) {
							((IMenuManager) item).updateAll(force);
						}
                    }
                }
                
                for (; srcIx < mi.length; srcIx++) {
					mi[srcIx].dispose();
				}
                setDirty(false);