mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[vcs] Cleanup listeners on LST release (IJPL-231568)
Space-RevId: 498e34bbb24e37225dce73bc5b0dd2baeda11878 GitOrigin-RevId: caa325431140dadfec32255c0f1f1414632332c6
This commit is contained in:
committed by
intellij-monorepo-bot
parent
c41e778e02
commit
fa8e49b309
@@ -116,6 +116,7 @@ abstract class LineStatusTrackerBase<R : Range>(
|
||||
isReleased = true
|
||||
|
||||
Disposer.dispose(disposable)
|
||||
listeners.listeners.clear()
|
||||
}
|
||||
|
||||
if (!ApplicationManager.getApplication().isDispatchThread || LOCK.isHeldByCurrentThread) {
|
||||
|
||||
@@ -145,6 +145,8 @@ class ChangelistsLocalLineStatusTracker internal constructor(project: Project,
|
||||
|
||||
private val undoableActions: WeakList<MyUndoableAction> = WeakList()
|
||||
|
||||
private val eventDispatcher = EventDispatcher.create(PartialLocalLineStatusTracker.Listener::class.java)
|
||||
|
||||
init {
|
||||
defaultMarker = ChangeListMarker(changeListManager.defaultChangeList)
|
||||
affectedChangeLists.add(defaultMarker.changelistId)
|
||||
@@ -155,6 +157,10 @@ class ChangelistsLocalLineStatusTracker internal constructor(project: Project,
|
||||
Disposer.register(disposable, Disposable { dropExistingUndoActions() })
|
||||
}
|
||||
|
||||
Disposer.register(disposable) {
|
||||
eventDispatcher.listeners.clear()
|
||||
}
|
||||
|
||||
documentTracker.addHandler(PartialDocumentTrackerHandler())
|
||||
assert(blocks.isEmpty())
|
||||
}
|
||||
@@ -1021,7 +1027,6 @@ class ChangelistsLocalLineStatusTracker internal constructor(project: Project,
|
||||
}
|
||||
|
||||
|
||||
private val eventDispatcher = EventDispatcher.create(PartialLocalLineStatusTracker.Listener::class.java)
|
||||
override fun addListener(listener: PartialLocalLineStatusTracker.Listener, disposable: Disposable) {
|
||||
eventDispatcher.addListener(listener, disposable)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user