Bug 5587 Step Over jumps to caller
Build 20011105 - set breakpoint in org.eclipse.ui.internal.ShowViewAction's constructor, on line indicated by [BP] below (note source has been modified since 20011105): protected ShowViewAction(IWorkbenchWindow window, IViewDescriptor desc) { super(""); String accel = desc.getAccelerator(); String label = desc.getLabel(); [BP] setText(accel == null ? label : label + "@" + accel); setImageDescriptor(desc.getImageDescriptor()); setToolTipText(label); WorkbenchHelp.setHelp(this, new Object[] {IHelpContextIds.SHOW_VIEW_ACTION}); this.window = window; this.desc = desc; } - when breakpoint was hit, I clicked on the Step Over button - it had the same effect as run to return, and stepping back to the caller. - it left me in ShowViewMenu.getAction, on line marked ***: private IAction getAction(String id) { // Keep a cache, rather than creating a new action each time, // so that image caching in ActionContributionItem works. IAction action = (IAction) actions.get(id); if (action == null) { IViewRegistry reg = WorkbenchPlugin.getDefault().getViewRegistry (); IViewDescriptor desc = reg.find(id); if (desc != null) { *** action = new ShowViewAction(getWindow(), desc); actions.put(id, action); } } return action; }
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/JavaDebugPreferencePage.java
public void saveFilters() {
			JDIDebugModel.setUseStepFilters(fUseFiltersCheckbox.getSelection());
			JDIDebugModel.setFilterSynthetic(fFilterSyntheticButton.getSelection());
			JDIDebugModel.setFilterStatic(fFilterStaticButton.getSelection());
			JDIDebugModel.setFilterConstructor(fFilterConstructorButton.getSelection());
			
			List active = new ArrayList(fFilters.size());
			List inactive = new ArrayList(fFilters.size());
			Iterator iterator = fFilters.iterator();
			while (iterator.hasNext()) {
				StepFilter filter = (StepFilter)iterator.next();
				String name = filter.getName();
				if (filter.isChecked()) {
					active.add(name);
				} else {
					inactive.add(name);
				}
			}
			JDIDebugModel.setActiveStepFilters(active);
			JDIDebugModel.setInactiveStepFilters(inactive);
		}
		
		public void removeFilters(Object[] filters) {
			for (int i = 0; i < filters.length; i++) {
				StepFilter filter = (StepFilter)filters[i];
				fFilters.remove(filter);
			}
			fViewer.remove(filters);
		}