fix race condition

This commit is contained in:
Gregor Lohaus
2026-05-31 18:12:44 +02:00
parent 71a533ec34
commit 2c020bb6cb
2 changed files with 6 additions and 6 deletions

View File

@@ -244,8 +244,7 @@ public final class Compositor {
drawTabBar(gc, canvas.getWidth(), topInset);
}
for (TerminalPane pane : panes) {
pane.paintFull(gc, isActive(pane));
paneContentVersion.put(pane, pane.contentVersion());
paneContentVersion.put(pane, pane.paintFull(gc, isActive(pane)));
}
}
@@ -262,8 +261,7 @@ public final class Compositor {
if (drawn != null && drawn == pane.contentVersion()) {
continue;
}
pane.paintIncremental(gc, isActive(pane));
paneContentVersion.put(pane, pane.contentVersion());
paneContentVersion.put(pane, pane.paintIncremental(gc, isActive(pane)));
}
}

View File

@@ -283,13 +283,15 @@ public final class TerminalPane implements AutoCloseable, RenderTarget {
}
/** Paint the whole pane; see {@link TerminalRenderer#paintFull}. */
public void paintFull(GraphicsContext gc, boolean active) {
public long paintFull(GraphicsContext gc, boolean active) {
renderer.paintFull(gc, this, active);
return snapshotVersion;
}
/** Repaint what changed; see {@link TerminalRenderer#paintIncremental}. */
public void paintIncremental(GraphicsContext gc, boolean active) {
public long paintIncremental(GraphicsContext gc, boolean active) {
renderer.paintIncremental(gc, this, active);
return snapshotVersion;
}
@Override