From ddc81fc521ca5898a80a216624b646e9aa31b9a8 Mon Sep 17 00:00:00 2001 From: Edwin Jakobs Date: Sat, 10 Apr 2021 17:18:12 +0200 Subject: [PATCH] [orx-midi] Fix shutdown hook with inner class --- orx-midi/src/main/kotlin/MidiTransceiver.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/orx-midi/src/main/kotlin/MidiTransceiver.kt b/orx-midi/src/main/kotlin/MidiTransceiver.kt index 0c9b088e..94faf7ce 100644 --- a/orx-midi/src/main/kotlin/MidiTransceiver.kt +++ b/orx-midi/src/main/kotlin/MidiTransceiver.kt @@ -86,6 +86,11 @@ class MidiTransceiver(val receiverDevice: MidiDevice, val transmitterDevicer: Mi private val receiver = receiverDevice.receiver private val transmitter = transmitterDevicer.transmitter + private inner class Destroyer: Thread() { + override fun run() { + destroy() + } + } init { transmitter.receiver = object : MidiDeviceReceiver { @@ -109,11 +114,7 @@ class MidiTransceiver(val receiverDevice: MidiDevice, val transmitterDevicer: Mi } // shut down midi if user calls `exitProcess(0)` - Runtime.getRuntime().addShutdownHook(object : Thread() { - override fun run() { - destroy() - } - }) + Runtime.getRuntime().addShutdownHook(Destroyer()) } val controlChanged = Event("midi-transceiver::controller-changed")