1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-22 06:02:11 +02:00

Bug 511029 - Debug views become permanently pinned...

... if they are closed and reopened whilst pinned.

This was because IPartListener2 was being removed before #partClosed()
was called.

Change-Id: I16de016387131b775237b5d61639bb32107231fe
Signed-off-by: Bruno Medeiros <bruno.do.medeiros@gmail.com>
This commit is contained in:
Bruno Medeiros 2017-01-25 13:28:16 +00:00 committed by Gerrit Code Review @ Eclipse.org
parent d45c67967a
commit 5c93171cbc

View file

@ -145,10 +145,7 @@ public class PinDebugContextActionDelegate implements IViewActionDelegate, IActi
public void partClosed(IWorkbenchPartReference partRef) {
IWorkbenchPart part = partRef.getPart(false);
if (part.equals(fPart)) {
if (fAction.isChecked()) {
DebugEventFilterService.getInstance().removeDebugEventFilter(fPart);
fAction.setChecked(false);
}
unpinPart();
}
}
@Override
@ -174,6 +171,14 @@ public class PinDebugContextActionDelegate implements IViewActionDelegate, IActi
public void dispose() {
DebugUITools.removePartDebugContextListener(fPart.getSite(), this);
fPart.getSite().getWorkbenchWindow().getPartService().removePartListener(fPartListener);
unpinPart();
}
protected void unpinPart() {
if (fAction.isChecked()) {
DebugEventFilterService.getInstance().removeDebugEventFilter(fPart);
fAction.setChecked(false);
}
}
protected ISelection getActiveDebugContext() {