From 3412a85a1426192fa68b5e5ed032dce90dee897d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Mon, 11 Jul 2022 17:56:47 +0200 Subject: [PATCH] Add-on: disable BAT's strict pointer mode Due to issues with library overrides and unsynced pointers, it's quite common for the Blender Animation Studio to get "address unknown" errors from BAT. To avoid these, Strict Pointer Mode is disabled. --- addon/flamenco/bat/interface.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/addon/flamenco/bat/interface.py b/addon/flamenco/bat/interface.py index d6333c7d..9662fab3 100644 --- a/addon/flamenco/bat/interface.py +++ b/addon/flamenco/bat/interface.py @@ -11,6 +11,7 @@ import typing from .. import wheels +blendfile = wheels.load_wheel("blender_asset_tracer.blendfile") pack = wheels.load_wheel("blender_asset_tracer.pack") progress = wheels.load_wheel("blender_asset_tracer.pack.progress") transfer = wheels.load_wheel("blender_asset_tracer.pack.transfer") @@ -210,6 +211,11 @@ def copy( # type: ignore if _running_packthread is not None: raise RuntimeError("other packing operation already in progress") + # Due to issues with library overrides and unsynced pointers, it's quite + # common for the Blender Animation Studio to get crashes of BAT. To avoid + # these, Strict Pointer Mode is disabled. + blendfile.set_strict_pointer_mode(False) + if packer_kwargs is None: packer_kwargs = {} packer = packer_class(