prevent concurrent modification

This commit is contained in:
2025-05-17 17:22:23 +02:00
parent e37da34f68
commit 6bc164937b

View File

@@ -72,11 +72,11 @@ public class Window implements Closeable {
this.regularTasks = new ArrayList<>(); this.regularTasks = new ArrayList<>();
} }
public void addRegularTask(Consumer<Float> task) { public synchronized void addRegularTask(Consumer<Float> task) {
this.regularTasks.add(task); this.regularTasks.add(task);
} }
public void removeRegularTask(Consumer<Float> task) {this.regularTasks.remove(task);} public synchronized void removeRegularTask(Consumer<Float> task) {this.regularTasks.remove(task);}
public synchronized void scheduleTask(Runnable runnable) { public synchronized void scheduleTask(Runnable runnable) {
this.tasks.add(runnable); this.tasks.add(runnable);
@@ -195,7 +195,7 @@ public class Window implements Closeable {
} }
} }
private void executeTasks(float delta) { private synchronized void executeTasks(float delta) {
Runnable task = getNextTask(); Runnable task = getNextTask();
while (task != null) { while (task != null) {
task.run(); task.run();