Skip to content

Commit

Permalink
Merge pull request #5411 from pkriens/master
Browse files Browse the repository at this point in the history
#5062 JVM Crash in bndtools explorer
  • Loading branch information
pkriens committed Nov 3, 2022
2 parents 091cb15 + 9158037 commit 14fe674
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 13 deletions.
2 changes: 1 addition & 1 deletion bndtools.core/src/bndtools/Plugin.java
Expand Up @@ -70,7 +70,7 @@ public void start(BundleContext context) throws Exception {
plugin = this;
this.bundleContext = context;

scheduler = Executors.newScheduledThreadPool(1);
scheduler = Executors.newScheduledThreadPool(4);

bndActivator = new Activator();
bndActivator.start(context);
Expand Down
4 changes: 3 additions & 1 deletion bndtools.core/src/bndtools/explorer/BndtoolsExplorer.java
Expand Up @@ -336,9 +336,11 @@ private void updateTreeViewer() {
if (!installed) {
installed = true;
installFilter();
model.filterDirty.set(true);
}

getTreeViewer().refresh();
if (model.filterDirty.getAndSet(false))
getTreeViewer().refresh();
}

private void installFilter() {
Expand Down
16 changes: 5 additions & 11 deletions bndtools.core/src/bndtools/explorer/Model.java
Expand Up @@ -24,6 +24,7 @@ class Model {
String message = "initializing workspace";
int severity;
String filterText;
final AtomicBoolean filterDirty = new AtomicBoolean(false);
final List<Runnable> updates = new ArrayList<>();
final AtomicBoolean dirty = new AtomicBoolean(false);
final Set<IProject> pinned = new HashSet<>();
Expand All @@ -48,6 +49,7 @@ void setFilterText(String value) {
glob = null;
else
glob = new Glob(value);
filterDirty.set(true);
update();
}

Expand Down Expand Up @@ -77,14 +79,15 @@ void updateMessage() {
void setSeverity(int severity) {
if (this.severity != severity) {
this.severity = severity;
filterDirty.set(true);
update();
}
}

private String getPrompt(Workspace ws) {
try {
if (prompt == null || prompt.isEmpty())
prompt = "<b>${basename;${workspace}}</b> ${def;Bundle-Version} <a href='prefs'>change macro def</a>";
prompt = "<b>${basename;${workspace}}</b> ${def;Bundle-Version} <a href='prefs'>[?]</a>";
else if ("-".equals(prompt))
return "";

Expand Down Expand Up @@ -113,16 +116,6 @@ void update() {
* This runs async on the display thread.
*/
private void update0() {
try {
// coalesce some more updates on
// the worker thread(s).
Thread.sleep(50);
} catch (InterruptedException e) {
Thread.currentThread()
.interrupt();
return;
}

if (dirty.getAndSet(false)) {
updates.forEach(Runnable::run);
}
Expand All @@ -138,6 +131,7 @@ void doPin() {
} else {
pinned.add(p);
}
filterDirty.set(true);
update();
}

Expand Down

0 comments on commit 14fe674

Please sign in to comment.