diff options
author | Linnea Gräf <nea@nea.moe> | 2023-12-08 14:22:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-08 14:22:52 +0100 |
commit | 57acdfea63a58203cebda34ef7e16ed6fcc1bf1d (patch) | |
tree | acd9786f82a304a5ecddb36ae6f7f1cdc752a297 /src/main/java/at/hannibal2/skyhanni/events | |
parent | 247656e0d4cd1733028009cecfab98c26953b795 (diff) | |
download | skyhanni-57acdfea63a58203cebda34ef7e16ed6fcc1bf1d.tar.gz skyhanni-57acdfea63a58203cebda34ef7e16ed6fcc1bf1d.tar.bz2 skyhanni-57acdfea63a58203cebda34ef7e16ed6fcc1bf1d.zip |
Add RepoPatterns (#715)
Added RepoPatterns. #715
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/events')
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/events/LorenzEvent.kt | 13 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/events/PreInitFinished.kt | 3 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/events/LorenzEvent.kt b/src/main/java/at/hannibal2/skyhanni/events/LorenzEvent.kt index 766da4c14..767643755 100644 --- a/src/main/java/at/hannibal2/skyhanni/events/LorenzEvent.kt +++ b/src/main/java/at/hannibal2/skyhanni/events/LorenzEvent.kt @@ -1,6 +1,8 @@ package at.hannibal2.skyhanni.events import at.hannibal2.skyhanni.data.EventCounter +import at.hannibal2.skyhanni.mixins.hooks.getValue +import at.hannibal2.skyhanni.mixins.hooks.setValue import at.hannibal2.skyhanni.mixins.transformers.AccessorEventBus import at.hannibal2.skyhanni.test.command.ErrorManager import at.hannibal2.skyhanni.utils.LorenzUtils @@ -16,6 +18,15 @@ abstract class LorenzEvent : Event() { fun postAndCatch() = postAndCatchAndBlock {} + companion object { + var eventHandlerDepth by object : ThreadLocal<Int>() { + override fun initialValue(): Int { + return 0 + } + } + val isInGuardedEventHandler get() = eventHandlerDepth > 0 + } + fun postAndCatchAndBlock( printError: Boolean = true, stopOnFirstError: Boolean = false, @@ -25,6 +36,7 @@ abstract class LorenzEvent : Event() { EventCounter.count(eventName) val visibleErrors = 3 var errors = 0 + eventHandlerDepth++ for (listener in getListeners()) { try { listener.invoke(this) @@ -40,6 +52,7 @@ abstract class LorenzEvent : Event() { if (stopOnFirstError) break } } + eventHandlerDepth-- if (errors > visibleErrors) { val hiddenErrors = errors - visibleErrors LorenzUtils.error("$hiddenErrors more errors in $eventName are hidden!") diff --git a/src/main/java/at/hannibal2/skyhanni/events/PreInitFinished.kt b/src/main/java/at/hannibal2/skyhanni/events/PreInitFinished.kt new file mode 100644 index 000000000..9b36f8826 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/events/PreInitFinished.kt @@ -0,0 +1,3 @@ +package at.hannibal2.skyhanni.events + +class PreInitFinished : LorenzEvent() |