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
fUseFiltersCheckbox = new Button(container, SWT.CHECK);
		fUseFiltersCheckbox.setText("Use &step filters");
		fUseFiltersCheckbox.setToolTipText("Toggle whether step filters are used at all");
		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
		gd.horizontalSpan = 2;
		fUseFiltersCheckbox.setLayoutData(gd);	
		fUseFiltersCheckbox.addSelectionListener(new SelectionListener() {
			public void widgetSelected(SelectionEvent se) {
				toggleStepFilterWidgetsEnabled(fUseFiltersCheckbox.getSelection());
			}
			public void widgetDefaultSelected(SelectionEvent se) {
			}
		});	
		
		
		fFilterViewer = new CheckboxTableViewer(container, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
		fFilterTable = fFilterViewer.getTable();
		fTableEditor = new TableEditor(fFilterTable);
		fFilterViewer.setLabelProvider(new StepFilterLabelProvider());
		fFilterViewer.setSorter(new WorkbenchViewerSorter());
		fStepFilterContentProvider = new StepFilterContentProvider(fFilterViewer);
		fFilterViewer.setContentProvider(fStepFilterContentProvider);
		fFilterViewer.setInput(JDIDebugModel.getAllStepFilters());
		gd = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
		gd.heightHint = 150;
		gd.widthHint = 300;
		fFilterViewer.getTable().setLayoutData(gd);
		fFilterViewer.addCheckStateListener(new ICheckStateListener() {