diff options
author | Philipp Oeser <info@graphics-engineer.com> | 2020-02-03 14:49:09 +0300 |
---|---|---|
committer | Philipp Oeser <info@graphics-engineer.com> | 2020-02-04 23:06:37 +0300 |
commit | 0bedf9cf07c66f4f6ddbdcfb47001bb29cb2389e (patch) | |
tree | e6d81ec8a0f37f6e26b3e8a2e3638a3a87e24cae /release/scripts/modules | |
parent | 36d09d9029c970de6a6c4d926fc1189865b145c3 (diff) |
Fix T58842: Add-ons Import/Export entries disapear when enabling Filter
Addons option
This removes the 'use_owner' option feature from rB61c8ed40f5df.
(this wasnt working well when addons are enabled and when switching
workspaces)
Now Addon filtering is just bypassed for Import/Export menus.
(by introducing/setting bl_owner_use_filter = False)
Maniphest Tasks: T58842
Differential Revision: https://developer.blender.org/D6740
Diffstat (limited to 'release/scripts/modules')
-rw-r--r-- | release/scripts/modules/addon_utils.py | 16 | ||||
-rw-r--r-- | release/scripts/modules/bpy_types.py | 5 |
2 files changed, 8 insertions, 13 deletions
diff --git a/release/scripts/modules/addon_utils.py b/release/scripts/modules/addon_utils.py index e212df17f60..b58c683dc24 100644 --- a/release/scripts/modules/addon_utils.py +++ b/release/scripts/modules/addon_utils.py @@ -373,11 +373,9 @@ def enable(module_name, *, default_set=False, persistent=False, handle_error=Non # 2) Try register collected modules. # Removed register_module, addons need to handle their own registration now. - use_owner = mod.bl_info.get("use_owner", True) - if use_owner: - from _bpy import _bl_owner_id_get, _bl_owner_id_set - owner_id_prev = _bl_owner_id_get() - _bl_owner_id_set(module_name) + from _bpy import _bl_owner_id_get, _bl_owner_id_set + owner_id_prev = _bl_owner_id_get() + _bl_owner_id_set(module_name) # 3) Try run the modules register function. try: @@ -393,8 +391,7 @@ def enable(module_name, *, default_set=False, persistent=False, handle_error=Non _addon_remove(module_name) return None finally: - if use_owner: - _bl_owner_id_set(owner_id_prev) + _bl_owner_id_set(owner_id_prev) # * OK loaded successfully! * mod.__addon_enabled__ = True @@ -513,7 +510,6 @@ def module_bl_info(mod, info_basis=None): "category": "", "warning": "", "show_expanded": False, - "use_owner": True, } addon_info = getattr(mod, "bl_info", {}) @@ -531,9 +527,5 @@ def module_bl_info(mod, info_basis=None): if not addon_info["name"]: addon_info["name"] = mod.__name__ - # Temporary auto-magic, don't use_owner for import export menus. - if mod.bl_info["category"] == "Import-Export": - mod.bl_info["use_owner"] = False - addon_info["_init"] = None return addon_info diff --git a/release/scripts/modules/bpy_types.py b/release/scripts/modules/bpy_types.py index 43ee785438b..4c47b5a5fb6 100644 --- a/release/scripts/modules/bpy_types.py +++ b/release/scripts/modules/bpy_types.py @@ -783,7 +783,10 @@ class _GenericUI: for func in draw_ls._draw_funcs: # Begin 'owner_id' filter. - if owner_names is not None: + # Exclude Import/Export menus from this filtering (io addons should always show there) + if not getattr(self, "bl_owner_use_filter", True): + pass + elif owner_names is not None: owner_id = getattr(func, "_owner", None) if owner_id is not None: if func._owner not in owner_names: |