ctlIME // Guard-let the event parameter in handle().

This commit is contained in:
ShikiSuen 2022-08-24 10:54:16 +08:00
parent 56e0dc616f
commit 24275ac182
4 changed files with 8 additions and 5 deletions

View File

@ -15,7 +15,7 @@ extension ctlInputMethod {
/// handle() /// handle()
/// - Parameter event: IMK /// - Parameter event: IMK
/// - Returns: `true` IMK`false` /// - Returns: `true` IMK`false`
func commonEventHandler(_ event: NSEvent!) -> Bool { func commonEventHandler(_ event: NSEvent) -> Bool {
// Shift macOS 10.15 macOS // Shift macOS 10.15 macOS
let shouldUseHandle = let shouldUseHandle =
(IME.arrClientShiftHandlingExceptionList.contains(clientBundleIdentifier) (IME.arrClientShiftHandlingExceptionList.contains(clientBundleIdentifier)

View File

@ -197,18 +197,21 @@ class ctlInputMethod: IMKInputController {
/// NSEvent /// NSEvent
/// - Parameters: /// - Parameters:
/// - event: /// - event: nil
/// - sender: 使 /// - sender: 使
/// - Returns: `true` IMK`false` /// - Returns: `true` IMK`false`
@objc(handleEvent:client:) override func handle(_ event: NSEvent!, client sender: Any!) -> Bool { @objc(handleEvent:client:) override func handle(_ event: NSEvent!, client sender: Any!) -> Bool {
_ = sender // _ = sender //
// NSEvent nilApple InputMethodKit
guard let event = event else { return false }
// IMK IMK // IMK IMK
// interpretKeyEvents() // interpretKeyEvents()
// - super.interpretKeyEvents() // - super.interpretKeyEvents()
// - delegate ctlInputMethod KeyHandler // - delegate ctlInputMethod KeyHandler
if let ctlCandidateCurrent = ctlInputMethod.ctlCandidateCurrent as? ctlCandidateIMK, ctlCandidateCurrent.visible { if let ctlCandidateCurrent = ctlInputMethod.ctlCandidateCurrent as? ctlCandidateIMK, ctlCandidateCurrent.visible {
let event: NSEvent! = ctlCandidateIMK.replaceNumPadKeyCodes(target: event) ?? event let event: NSEvent = ctlCandidateIMK.replaceNumPadKeyCodes(target: event) ?? event
let input = InputSignal(event: event) let input = InputSignal(event: event)
// Shift+Enter delegate keyHandler // Shift+Enter delegate keyHandler
// Shift Flags // Shift Flags

View File

@ -62,7 +62,7 @@ extension ctlInputMethod: ctlCandidateDelegate {
/// IMK commonEventHandler() /// IMK commonEventHandler()
/// - Parameter event: IMK /// - Parameter event: IMK
/// - Returns: `true` IMK`false` /// - Returns: `true` IMK`false`
@discardableResult func sharedEventHandler(_ event: NSEvent!) -> Bool { @discardableResult func sharedEventHandler(_ event: NSEvent) -> Bool {
commonEventHandler(event) commonEventHandler(event)
} }

View File

@ -28,7 +28,7 @@ public class CandidateKeyLabel: NSObject {
public protocol ctlCandidateDelegate: AnyObject { public protocol ctlCandidateDelegate: AnyObject {
var isAssociatedPhrasesState: Bool { get } var isAssociatedPhrasesState: Bool { get }
func sharedEventHandler(_ event: NSEvent!) -> Bool func sharedEventHandler(_ event: NSEvent) -> Bool
func candidateCountForController(_ controller: ctlCandidateProtocol) -> Int func candidateCountForController(_ controller: ctlCandidateProtocol) -> Int
func candidatesForController(_ controller: ctlCandidateProtocol) -> [(String, String)] func candidatesForController(_ controller: ctlCandidateProtocol) -> [(String, String)]
func ctlCandidate(_ controller: ctlCandidateProtocol, candidateAtIndex index: Int) func ctlCandidate(_ controller: ctlCandidateProtocol, candidateAtIndex index: Int)