aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCurtis Windatt2013-05-09 16:47:47 (EDT)
committerGerrit Code Review @ Eclipse.org2013-05-14 10:48:18 (EDT)
commitfcb761b640545ddff0ed9beb3ec110dcb8297352 (patch)
tree9a3215bf0ade616d4f8b05667629bb1d50e9a48a
parent96b7c38e40aff3d1e3ea3fa3941a159d0ceea206 (diff)
downloadeclipse.platform.ui-fcb761b640545ddff0ed9beb3ec110dcb8297352.zip
eclipse.platform.ui-fcb761b640545ddff0ed9beb3ec110dcb8297352.tar.gz
eclipse.platform.ui-fcb761b640545ddff0ed9beb3ec110dcb8297352.tar.bz2
Bug 402073 - Keyboard shortcuts sometimes do not work for other windowsrefs/changes/94/12694/3
-rw-r--r--bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/PartServiceImpl.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/PartServiceImpl.java b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/PartServiceImpl.java
index c0a0cd6..78763a1 100644
--- a/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/PartServiceImpl.java
+++ b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/PartServiceImpl.java
@@ -133,6 +133,7 @@ public class PartServiceImpl implements EPartService {
private PartActivationHistory partActivationHistory;
private MPart activePart;
+ private MPart activatedPart;
private ListenerList listeners = new ListenerList();
@@ -557,7 +558,7 @@ public class PartServiceImpl implements EPartService {
MWindow window = getWindow();
IEclipseContext windowContext = window.getContext();
// check if the active part has changed or if we are no longer the active window
- if (windowContext.getParent().getActiveChild() == windowContext && part == activePart) {
+ if (windowContext.getParent().getActiveChild() == windowContext && part == activatedPart) {
// insert it in the beginning of the activation history, it may not have been inserted
// pending when this service was instantiated
partActivationHistory.prepend(part);
@@ -567,6 +568,9 @@ public class PartServiceImpl implements EPartService {
if (contextService != null) {
contextService.deferUpdates(true);
}
+
+ activatedPart = part;
+
try {
// record any sibling into the activation history if necessary, this will allow it to be
// reselected again in the future as it will be an activation candidate in the future,