mirror of
https://github.com/atom/atom.git
synced 2026-02-04 19:54:59 -05:00
Return a cloned object from config.get()
This prevents mutations to the values of the default settings.
This commit is contained in:
@@ -106,8 +106,8 @@ class Config
|
||||
# Returns the value from Atom's default settings, the user's configuration file,
|
||||
# or `null` if the key doesn't exist in either.
|
||||
get: (keyPath) ->
|
||||
_.valueForKeyPath(@settings, keyPath) ?
|
||||
_.valueForKeyPath(@defaultSettings, keyPath)
|
||||
value = _.valueForKeyPath(@settings, keyPath) ? _.valueForKeyPath(@defaultSettings, keyPath)
|
||||
_.deepClone(value)
|
||||
|
||||
# Retrieves the setting for the given key as an integer.
|
||||
#
|
||||
|
||||
@@ -29,11 +29,12 @@ class PackageConfigPanel extends ConfigPanel
|
||||
@on 'change', '#packages input[type=checkbox]', (e) ->
|
||||
checkbox = $(e.target)
|
||||
name = checkbox.closest('tr').attr('name')
|
||||
disabledPackages = config.get('core.disabledPackages')
|
||||
if checkbox.attr('checked')
|
||||
_.remove(config.get('core.disabledPackages'), name)
|
||||
_.remove(disabledPackages, name)
|
||||
else
|
||||
config.get('core.disabledPackages').push(name)
|
||||
config.update()
|
||||
disabledPackages.push(name)
|
||||
config.set('core.disabledPackages', disabledPackages)
|
||||
|
||||
@observeConfig 'core.disabledPackages', (disabledPackages) =>
|
||||
@packageTableBody.find("input[type='checkbox']").attr('checked', true)
|
||||
|
||||
Reference in New Issue
Block a user