| Summary: | [Progress] Compare editor not active after Compare With > Each Other | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Markus Keller <markus.kell.r> |
| Component: | UI | Assignee: | Platform UI Triaged <platform-ui-triaged> |
| Status: | CLOSED WONTFIX | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | Michael.Valenta, pwebster |
| Version: | 3.3 | Keywords: | helpwanted |
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | stalebug | ||
|
Description
Markus Keller
This works for me. I've tried it with the linking enabled and disabled from the Navigator, the Project Explorer and the Packages Explorer. This was using build I20070503-1400. Please reopen if you can provide more details about the conditions that cause the failure. I can still reproduce in clean installs of I20070508-0800 and 3.3M7, e.g. with the steps from bug 185747 (new workspace == all settings as defaults). The compare editor is opened and gets focus. Then, a progress dialog appears quickly, and after the dialog is closed, the History view has focus, not the editor. Also happens on Linux/GTK (over VNC). I was able to reproduce this but, for me focus went to the Packages Explorer. However, on subsequent compares, focus goes to the editor as expected. Is this what you see are well? Ignore my last question. I am able to get it repeatedly now. The focus change is coming from the ProgressManager. Here's is a stack I got while debugging. The part being activated is the History View. In the scenario outlined above, my breakpoint first got hit when the Compare Editor was activated and then got hit again when the History view got activated. This indicates to me that the ProgressManager is activating the wrong part when the progress dialog closes. Thread [main] (Suspended (breakpoint at line 3248 in WorkbenchPage)) WorkbenchPage.setActivePart(IWorkbenchPart) line: 3248 WorkbenchPage.requestActivation(IWorkbenchPart) line: 2832 ViewPane(PartPane).requestActivation() line: 265 ViewPane(PartPane).handleEvent(Event) line: 229 EventTable.sendEvent(Event) line: 66 Composite(Widget).sendEvent(Event) line: 938 Composite(Widget).sendEvent(int, Event, boolean) line: 962 Composite(Widget).sendEvent(int) line: 943 Shell.setActiveControl(Control) line: 1272 Tree(Control).sendFocusEvent(int) line: 2366 Tree(Widget).wmSetFocus(int, int, int) line: 2176 Tree(Control).WM_SETFOCUS(int, int) line: 4274 Tree.WM_SETFOCUS(int, int) line: 6204 Tree(Control).windowProc(int, int, int, int) line: 3730 Tree.windowProc(int, int, int, int) line: 5239 Display.windowProc(int, int, int, int) line: 4355 OS.SetFocus(int) line: not available [native method] Tree(Control).forceFocus() line: 963 Tree(Control).setSavedFocus() line: 2958 Shell(Decorations).restoreFocus() line: 819 Shell.setEnabled(boolean) line: 1286 ProgressManager.setUserInterfaceActive(boolean) line: 1247 ProgressManager.access$4(ProgressManager, boolean) line: 1242 ProgressManager$3.run() line: 913 BusyIndicator.showWhile(Display, Runnable) line: 67 ProgressManager.busyCursorWhile(Runnable, ProgressMonitorJobsDialog) line: 942 ProgressManager.busyCursorWhile(IRunnableWithProgress) line: 917 ProgressManager.run(boolean, boolean, IRunnableWithProgress) line: 1125 CompareEditor$EditorCompareContainer(CompareContainer).run(boolean, boolean, IRunnableWithProgress) line: 80 CompareFileRevisionEditorInput(CompareEditorInput).run(boolean, boolean, IRunnableWithProgress) line: 1107 JavaMergeViewer(TextMergeViewer).doDiff() line: 3176 JavaMergeViewer(TextMergeViewer).update(boolean) line: 5447 JavaMergeViewer(TextMergeViewer).updateContent(Object, Object, Object) line: 2639 JavaMergeViewer(ContentMergeViewer).internalRefresh(Object) line: 713 JavaMergeViewer(ContentMergeViewer).inputChanged(Object, Object) line: 613 JavaMergeViewer(ContentViewer).setInput(Object) line: 251 JavaMergeViewer.setInput(Object) line: 135 CompareEditorInput$3(CompareViewerSwitchingPane).setInput(Object) line: 254 CompareFileRevisionEditorInput(CompareEditorInput).internalSetContentPaneInput(Object) line: 784 CompareEditorInput.access$7(CompareEditorInput, Object) line: 782 CompareEditorInput$13.run() line: 722 BusyIndicator.showWhile(Display, Runnable) line: 67 CompareFileRevisionEditorInput(CompareEditorInput).feed1(ISelection) line: 716 CompareFileRevisionEditorInput(CompareEditorInput).feedInput() line: 694 CompareFileRevisionEditorInput(CompareEditorInput).createContents(Composite) line: 524 CompareEditor.createCompareControl() line: 399 CompareEditor.access$2(CompareEditor) line: 369 CompareEditor$3.run() line: 326 RunnableLock.run() line: 35 UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 123 Display.runAsyncMessages(boolean) line: 3650 Display.readAndDispatch() line: 3287 Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 2365 Workbench.runUI() line: 2329 Workbench.access$4(Workbench) line: 2204 Workbench$4.run() line: 466 Realm.runWithDefault(Realm, Runnable) line: 289 Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 461 PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149 IDEApplication.start(IApplicationContext) line: 106 EclipseAppHandle.run(Object) line: 153 EclipseAppLauncher.runApplication(Object) line: 106 EclipseAppLauncher.start(Object) line: 76 EclipseStarter.run(Object) line: 363 EclipseStarter.run(String[], Runnable) line: 176 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 585 Main.invokeFramework(String[], URL[]) line: 497 Main.basicRun(String[]) line: 436 Main.run(String[]) line: 1162 Main.main(String[]) line: 1137 This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug. If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie. |