Fix error where upgrading an extension always enabled it
Upgrading disabled extensions should never enable them.
This commit is contained in:
parent
7b05c2b7ed
commit
ef505727c6
@ -56,6 +56,9 @@ rna_prop_enable_on_install = BoolProperty(
|
|||||||
name="Enable on Install",
|
name="Enable on Install",
|
||||||
description="Enable after installing",
|
description="Enable after installing",
|
||||||
default=True,
|
default=True,
|
||||||
|
# This is done as "enabling" has security implications (running code after the action).
|
||||||
|
# Using the last value would mean an action that isn't expected to enable the extension might unintentionally do so.
|
||||||
|
options={'SKIP_SAVE'}
|
||||||
)
|
)
|
||||||
rna_prop_enable_on_install_type_map = {
|
rna_prop_enable_on_install_type_map = {
|
||||||
"add-on": "Enable Add-on",
|
"add-on": "Enable Add-on",
|
||||||
@ -1845,6 +1848,7 @@ class EXTENSIONS_OT_package_upgrade_all(Operator, _ExtCmdMixIn):
|
|||||||
if pkg_manifest_local is None:
|
if pkg_manifest_local is None:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
repo_item = repos_all[repo_index]
|
||||||
for pkg_id, item_remote in pkg_manifest_remote.items():
|
for pkg_id, item_remote in pkg_manifest_remote.items():
|
||||||
item_local = pkg_manifest_local.get(pkg_id)
|
item_local = pkg_manifest_local.get(pkg_id)
|
||||||
if item_local is None:
|
if item_local is None:
|
||||||
@ -1858,8 +1862,11 @@ class EXTENSIONS_OT_package_upgrade_all(Operator, _ExtCmdMixIn):
|
|||||||
packages_to_upgrade[repo_index].append(pkg_id)
|
packages_to_upgrade[repo_index].append(pkg_id)
|
||||||
package_count += 1
|
package_count += 1
|
||||||
|
|
||||||
if packages_to_upgrade[repo_index]:
|
if (pkg_id_sequence_upgrade := _preferences_pkg_id_sequence_filter_enabled(
|
||||||
handle_addons_info.append((repos_all[repo_index], list(packages_to_upgrade[repo_index])))
|
repo_item,
|
||||||
|
packages_to_upgrade[repo_index],
|
||||||
|
)):
|
||||||
|
handle_addons_info.append((repo_item, pkg_id_sequence_upgrade))
|
||||||
|
|
||||||
cmd_batch = []
|
cmd_batch = []
|
||||||
for repo_index, pkg_id_sequence in enumerate(packages_to_upgrade):
|
for repo_index, pkg_id_sequence in enumerate(packages_to_upgrade):
|
||||||
|
@ -1323,6 +1323,7 @@ def extension_draw_item(
|
|||||||
props = row_right.operator("extensions.package_install", text="Update")
|
props = row_right.operator("extensions.package_install", text="Update")
|
||||||
props.repo_index = repo_index
|
props.repo_index = repo_index
|
||||||
props.pkg_id = pkg_id
|
props.pkg_id = pkg_id
|
||||||
|
props.enable_on_install = is_enabled
|
||||||
del props
|
del props
|
||||||
else:
|
else:
|
||||||
props = row_right.operator("extensions.package_install", text="Install")
|
props = row_right.operator("extensions.package_install", text="Install")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user