Browse Source

【fix】【APPCenter】Crash编号:1(关闭主窗口)

tangchao 10 months ago
parent
commit
cf3ee844f8

+ 5 - 4
PDF Office/PDF Master/AppDelegate.swift

@@ -521,16 +521,16 @@ class AppDelegate: NSObject, NSApplicationDelegate, iRateDelegate{
         }
         
         let windowControler = NSApp.mainWindow?.windowController as! KMBrowserWindowController
-        let model: CTTabStripModel = windowControler.browser.tabStripModel
-        if (model.count() <= 0) {
+        let model = windowControler.browser?.tabStripModel
+        if let cnt = model?.count(), cnt <= 0 {
             return
         }
         
-        if (model.activeTabContents().isHome) {
+        if let data = model?.activeTabContents()?.isHome, data {
             return
         }
         
-        let document: KMMainDocument = model.activeTabContents() as! KMMainDocument
+        let document: KMMainDocument = model?.activeTabContents() as! KMMainDocument
         if let data = document.mainViewController?.saveWatermarkFlag, !data {
             let represent : NSSharingService = sender.representedObject as! NSSharingService
             represent.perform(withItems: [document.fileURL as Any])
@@ -540,6 +540,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, iRateDelegate{
         let represent : NSSharingService = sender.representedObject as! NSSharingService
         represent.perform(withItems: [document.fileURL as Any])
     }
+    
     @objc func deviceCameraMenuItemAciton(sender: NSMenuItem) {
         KMPrint("deviceCameraMenuItemAciton")
         NotificationCenter.default.post(name: NSNotification.Name(rawValue: "kDeviceCameraMenuItemNotification"), object: nil)

+ 4 - 0
PDF Office/PDF Master/Class/ChromiumTabs/KMBrowser.swift

@@ -14,6 +14,10 @@ import Cocoa
     var currentCloseDocument: KMMainDocument?
     var currentDocument: KMMainDocument?
 
+    deinit {
+        KMPrint("KMBrowser deinit.")
+    }
+    
     override func createBlankTabBased(on baseContents: CTTabContents?) -> CTTabContents {
         return KMMainDocument.init(baseTabContents: baseContents)!
     }

File diff suppressed because it is too large
+ 184 - 183
PDF Office/PDF Master/Class/ChromiumTabs/KMBrowserWindowController.swift


+ 1 - 1
PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController+Action.swift

@@ -420,7 +420,7 @@ extension KMHomeViewController {
                 }
                 if !alreadyOpen {
                     let controll: KMBrowserWindowController? = self.view.window?.windowController as? KMBrowserWindowController
-                    if controll?.browser.tabCount() ?? 0 > 1 && !IAPProductsManager.default().isAvailableAllFunction() {
+                    if controll?.browser?.tabCount() ?? 0 > 1 && !IAPProductsManager.default().isAvailableAllFunction() {
                         showLimitWindowAlert(url: url)
                         return
                     }

+ 1 - 1
PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController.swift

@@ -699,7 +699,7 @@ extension KMHomeViewController {
     
     func needShowTabbingHintWindow() -> Bool {
         let controll: KMBrowserWindowController? = self.view.window?.windowController as? KMBrowserWindowController
-        if controll?.browser.tabCount() ?? 0 > 1 && !IAPProductsManager.default().isAvailableAllFunction() {
+        if controll?.browser?.tabCount() ?? 0 > 1 && !IAPProductsManager.default().isAvailableAllFunction() {
             return true
         }
         return false

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+Action.swift

@@ -4549,7 +4549,7 @@ extension KMMainViewController : KMMainToolbarControllerDelegate {
     }
     
     func handleTabbingLogic() {
-        self.browserWindowController?.browser.selectTabContents(at: 0, userGesture: true)
+        self.browserWindowController?.browser?.selectTabContents(at: 0, userGesture: true)
         self.toolbarController.findItem(KMDocumentHomeToolbarItemIdentifier)?.isSelected = false
     }
     

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+MenuAction.swift

@@ -72,7 +72,7 @@ extension KMMainViewController {
     }
     
     @IBAction func menuItemAction_closeTagPage(_ sender: Any) {
-        self.browserWindowController?.browser.closeTab()
+        self.browserWindowController?.browser?.closeTab()
     }
     
     @IBAction func menuItemAction_showInFinder(_ sender: Any) {

+ 4 - 4
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+UI.swift

@@ -863,16 +863,16 @@ extension KMMainViewController {
         }
         
         let windowControler = NSApp.mainWindow?.windowController as! KMBrowserWindowController
-        let model: CTTabStripModel = windowControler.browser.tabStripModel
-        if (model.count() <= 0) {
+        let model = windowControler.browser?.tabStripModel
+        if let cnt = model?.count(), cnt <= 0 {
             return
         }
         
-        if (model.activeTabContents().isHome) {
+        if let data = model?.activeTabContents().isHome, data {
             return
         }
         
-        let document: KMMainDocument = model.activeTabContents() as! KMMainDocument
+        let document: KMMainDocument = model?.activeTabContents() as! KMMainDocument
         if string.count > 0 {
             let represent : NSSharingService = sender.representedObject as! NSSharingService
             represent.perform(withItems: [string])

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController.swift

@@ -288,7 +288,7 @@ import Cocoa
                 self.passwordWindow = KMPasswordInputWindow.openWindow(window: self.view.window!, url: self.document!.documentURL) { [unowned self] result , password in
                     self.passwordWindow = nil
                     if (result == .cancel) {
-                        self.browserWindowController?.browser.closeTab()
+                        self.browserWindowController?.browser?.closeTab()
                         return
                     }
                     self.model.isSaveKeyChain = true