From b355ae1dd25da0393d107161dc1a2311cee001b7 Mon Sep 17 00:00:00 2001 From: jzitnik-dev Date: Fri, 2 Jan 2026 13:16:00 +0100 Subject: [PATCH] fix: Shutdown room tasks when terminal too small --- .../cz/jzitnik/events/handlers/FullRoomDrawHandler.java | 1 + .../java/cz/jzitnik/utils/roomtasks/RoomTaskScheduler.java | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/main/java/cz/jzitnik/events/handlers/FullRoomDrawHandler.java b/src/main/java/cz/jzitnik/events/handlers/FullRoomDrawHandler.java index bb0dbc9..010dffa 100644 --- a/src/main/java/cz/jzitnik/events/handlers/FullRoomDrawHandler.java +++ b/src/main/java/cz/jzitnik/events/handlers/FullRoomDrawHandler.java @@ -109,6 +109,7 @@ public class FullRoomDrawHandler extends AbstractEventHandler { // Screen too small to fit the room eventManager.emitEvent(new TerminalTooSmallEvent()); renderState.setTerminalTooSmall(true); + roomTaskScheduler.shutdownTasks(); //log.error("Terminal too small", e); } } diff --git a/src/main/java/cz/jzitnik/utils/roomtasks/RoomTaskScheduler.java b/src/main/java/cz/jzitnik/utils/roomtasks/RoomTaskScheduler.java index 5836383..b92e52d 100644 --- a/src/main/java/cz/jzitnik/utils/roomtasks/RoomTaskScheduler.java +++ b/src/main/java/cz/jzitnik/utils/roomtasks/RoomTaskScheduler.java @@ -34,6 +34,12 @@ public class RoomTaskScheduler { scheduler = Executors.newScheduledThreadPool(threadPoolConfig.getTaskThreadCount()); } + public void shutdownTasks() { + shutdownAll(); + initExecutor(); + firstRun = true; + } + private void shutdownAll() { scheduler.shutdown();