v.1.2.9 - Fix memory leak
Some checks failed
Gradle CI / build (push) Has been cancelled

This commit is contained in:
2025-09-19 19:19:07 +02:00
parent 191b23ed51
commit d3fef98203
9 changed files with 10 additions and 1027 deletions

View File

@@ -1,9 +1,8 @@
package nl.astraeus.komp
import org.w3c.dom.events.Event
import org.w3c.dom.Element
import org.w3c.dom.HTMLInputElement
import org.w3c.dom.events.EventListener
import org.w3c.dom.events.Event
import org.w3c.dom.get
private fun Int.asSpaces(): String {
@@ -129,10 +128,15 @@ internal fun Element.setKompEvent(name: String, event: (Event) -> Unit) {
this.addEventListener(eventName, event)
}
private val kompEvents = mutableMapOf<Element, MutableMap<String, (Event) -> Unit>>()
internal fun Element.getKompEvents(): MutableMap<String, (Event) -> Unit> {
return kompEvents.getOrPut(this) { mutableMapOf() }
var map = this.asDynamic()["komp-events"] as? MutableMap<String, (Event) -> Unit>
if (map == null) {
map = mutableMapOf()
this.asDynamic()["komp-events"] = map
}
return map
}
internal fun Element.findElementIndex(): Int {