mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42:11 +02:00
Bug 319668 - NPE in indexer CCorePlugin.getCProjectDescription
This change ensures code in SelectionListenerWithASTManager does not attempt to compute an AST if the workbench is shutting down. This can result in a NPE in the CDT core plug-in. Change-Id: I3a0f921b3327bab9eab7169591f217c4f4766a70 Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
This commit is contained in:
parent
0cd0aa1270
commit
c410447f12
1 changed files with 2 additions and 1 deletions
|
@ -35,6 +35,7 @@ import org.eclipse.jface.viewers.ISelection;
|
||||||
import org.eclipse.jface.viewers.ISelectionChangedListener;
|
import org.eclipse.jface.viewers.ISelectionChangedListener;
|
||||||
import org.eclipse.jface.viewers.ISelectionProvider;
|
import org.eclipse.jface.viewers.ISelectionProvider;
|
||||||
import org.eclipse.ui.ISelectionListener;
|
import org.eclipse.ui.ISelectionListener;
|
||||||
|
import org.eclipse.ui.PlatformUI;
|
||||||
import org.eclipse.ui.texteditor.ITextEditor;
|
import org.eclipse.ui.texteditor.ITextEditor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -134,7 +135,7 @@ public class SelectionListenerWithASTManager {
|
||||||
// Try to acquire the lock
|
// Try to acquire the lock
|
||||||
while (!monitor.isCanceled() && !fJobLock.acquire(10)) {
|
while (!monitor.isCanceled() && !fJobLock.acquire(10)) {
|
||||||
}
|
}
|
||||||
if (!monitor.isCanceled() && isSelectionValid(selection)) {
|
if (!monitor.isCanceled() && isSelectionValid(selection) && PlatformUI.isWorkbenchRunning()) {
|
||||||
return calculateASTandInform(workingCopy, selection, monitor);
|
return calculateASTandInform(workingCopy, selection, monitor);
|
||||||
}
|
}
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue