always create console alarm for heavy filters, as they can appear dynamically (EA-92863 - assert: ConsoleViewImpl.runHeavyFilters)

This commit is contained in:
peter
2016-12-13 17:20:49 +01:00
parent 3bd79228de
commit a05bb94315
@@ -120,7 +120,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo
private ConsoleState myState;
private final Alarm mySpareTimeAlarm = new Alarm(this);
@Nullable
@NotNull
private final Alarm myHeavyAlarm;
private volatile int myHeavyUpdateTicket;
@@ -288,7 +288,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo
myFilters = new CompositeFilter(project, usePredefinedMessageFilter ? computeConsoleFilters(project, searchScope) : new SmartList<>());
myFilters.setForceUseAllFilters(true);
myHeavyUpdateTicket = 0;
myHeavyAlarm = myFilters.isAnyHeavy() ? new Alarm(Alarm.ThreadToUse.POOLED_THREAD, this) : null;
myHeavyAlarm = new Alarm(Alarm.ThreadToUse.POOLED_THREAD, this);
ConsoleInputFilterProvider[] inputFilters = Extensions.getExtensions(ConsoleInputFilterProvider.INPUT_FILTER_PROVIDERS);
if (inputFilters.length > 0) {
@@ -786,7 +786,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo
}
private void cancelHeavyAlarm() {
if (myHeavyAlarm != null && !myHeavyAlarm.isDisposed()) {
if (!myHeavyAlarm.isDisposed()) {
myHeavyAlarm.cancelAllRequests();
++myHeavyUpdateTicket;
}
@@ -1013,7 +1013,6 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo
myJLayeredPane.startUpdating();
final int currentValue = myHeavyUpdateTicket;
assert myHeavyAlarm != null;
myHeavyAlarm.addRequest(new Runnable() {
@Override
public void run() {