SessionCtl // Use NSMutableOrderedSet in lieu of Swift.Set.

This commit is contained in:
ShikiSuen 2022-11-19 00:38:36 +08:00
parent fe41d16762
commit 337cf84c8b
2 changed files with 3 additions and 2 deletions

View File

@ -25,7 +25,7 @@ import UpdateSputnik
/// IMKInputController
@objc(SessionCtl) // ObjC IMK ObjC
public class SessionCtl: IMKInputController {
public static var allInstances: Set<SessionCtl> = .init()
public static var allInstances: NSMutableOrderedSet = .init()
///
public static var areWeNerfing = false
@ -207,7 +207,7 @@ extension SessionCtl {
state = IMEState.ofEmpty()
isActivated = true //
Self.allInstances.insert(self)
Self.allInstances.insert(self, at: 0)
setKeyLayout()
}
}

View File

@ -53,6 +53,7 @@ extension SessionCtl {
//
if PrefMgr.shared.useIMKCandidateWindow {
for instance in Self.allInstances {
guard let instance = instance as? SessionCtl else { continue }
guard let imkC = instance.ctlCandidateCurrent as? CtlCandidateIMK else { continue }
if instance.state.isCandidateContainer, !imkC.visible {
instance.handle(state: instance.state, replace: false)