Преглед изворни кода

【fix】【搜索替换】替换-搜索框,输入空格,快速点击下一步,必现崩溃

tangchao пре 6 месеци
родитељ
комит
bf25836109

+ 10 - 0
PDF Office/PDF Master/Class/Tools/Search/Window/KMSearchReplaceWindowController.swift

@@ -552,8 +552,13 @@ extension KMSearchReplaceWindowController: NSTextFieldDelegate {
                     let isWholeWord = self.matchWholeCheck.state == .on
                     let isEditing = self.handdler.pdfView?.isEditing() ?? false
                     if isEditing == false {
+                        if self.finding_ {
+                            return false
+                        }
+                        self.finding_ = true
                         self._beginLoading()
                         self.handdler.search(keyword: self.searchInputView.stringValue, isCase: isCase, isWholeWord: isWholeWord, callback: { [weak self] datas in
+                            self?.finding_ = false
                             self?._endLoading()
 
                             guard let sels = datas, sels.isEmpty == false else {
@@ -570,12 +575,17 @@ extension KMSearchReplaceWindowController: NSTextFieldDelegate {
                             }
                         })
                     } else {
+                        if self.finding_ {
+                            return false
+                        }
+                        self.finding_ = true
                         let searchS = self.searchInputView.stringValue
                         let opt = self.fetchSearchOptions()
                         self._beginLoading()
                         DispatchQueue.global().async {
                             let datas = self.handdler.pdfView?.document.findEditAllPageString(searchS, with: opt) ?? []
                             DispatchQueue.main.async {
+                                self.finding_ = false
                                 self._endLoading()
                                 if datas.isEmpty {
                                     let alert = NSAlert()