Only call package serialize methods once on quit

This commit is contained in:
Katrina Uychaco
2016-02-01 16:49:21 -08:00
parent 5e21f7bad9
commit 81f30d4908
2 changed files with 4 additions and 5 deletions

View File

@@ -655,8 +655,8 @@ class AtomEnvironment extends Model
return if not @project
@storeWindowBackground()
@saveState(true)
@packages.deactivatePackages()
@saveState(true)
@saveBlobStoreSync()
openInitialEmptyEditorIfNecessary: ->

View File

@@ -468,13 +468,12 @@ class PackageManager
@activationHookEmitter.on(hook, callback)
serialize: ->
for pack in @getLoadedPackages()
for pack in @getActivePackages()
@serializePackage(pack)
@packageStates
serializePackage: (pack) ->
if @isPackageActive(pack.name)
@setPackageState(pack.name, state) if state = pack.serialize?()
@setPackageState(pack.name, state) if state = pack.serialize?()
# Deactivate all packages
deactivatePackages: ->
@@ -487,7 +486,7 @@ class PackageManager
# Deactivate the package with the given name
deactivatePackage: (name) ->
pack = @getLoadedPackage(name)
@serializePackage(pack)
@serializePackage(pack) if @isPackageActive(pack.name)
pack.deactivate()
delete @activePackages[pack.name]
delete @activatingPackages[pack.name]