Skip to content

Commit c2fdc1a

Browse files
committed
Merge branch 'feature/fix-crash-when-remove-expired-workspace' into develop
2 parents 4865e9d + a99ac0e commit c2fdc1a

1 file changed

Lines changed: 18 additions & 5 deletions

File tree

Core/Sources/Service/Workspace.swift

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,18 @@ final class Workspace {
132132
return true
133133
}
134134

135+
deinit {
136+
UserDefaults.shared.removeObserver(
137+
userDefaultsObserver,
138+
forKeyPath: UserDefaultPreferenceKeys().suggestionFeatureEnabledProjectList.key
139+
)
140+
141+
UserDefaults.shared.removeObserver(
142+
userDefaultsObserver,
143+
forKeyPath: UserDefaultPreferenceKeys().disableSuggestionFeatureGlobally.key
144+
)
145+
}
146+
135147
private init(projectRootURL: URL) {
136148
self.projectRootURL = projectRootURL
137149

@@ -386,21 +398,21 @@ final class FileSaveWatcher {
386398
var fileHandle: FileHandle?
387399
var source: DispatchSourceFileSystemObject?
388400
var changeHandler: () -> Void = {}
389-
401+
390402
init(fileURL: URL) {
391403
url = fileURL
392404
startup()
393405
}
394-
406+
395407
deinit {
396408
source?.cancel()
397409
}
398-
410+
399411
func startup() {
400412
if let source = source {
401413
source.cancel()
402414
}
403-
415+
404416
fileHandle = try? FileHandle(forReadingFrom: url)
405417
if let fileHandle {
406418
source = DispatchSource.makeFileSystemObjectSource(
@@ -413,8 +425,9 @@ final class FileSaveWatcher {
413425
self?.changeHandler()
414426
self?.startup()
415427
}
416-
428+
417429
source?.resume()
418430
}
419431
}
420432
}
433+

0 commit comments

Comments
 (0)