diff options
| -rw-r--r-- | binaryview.cpp | 2 | ||||
| -rw-r--r-- | python/binaryview.py | 4 | ||||
| -rw-r--r-- | suite/api_test.py | 3 |
3 files changed, 7 insertions, 2 deletions
diff --git a/binaryview.cpp b/binaryview.cpp index 8e3f115a..d355246d 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -3048,7 +3048,7 @@ Ref<Settings> BinaryView::GetLoadSettings(const string& typeName) void BinaryView::SetLoadSettings(const string& typeName, Ref<Settings> settings) { - BNBinaryViewSetLoadSettings(m_object, typeName.c_str(), settings->GetObject()); + BNBinaryViewSetLoadSettings(m_object, typeName.c_str(), settings ? settings->GetObject() : nullptr); } diff --git a/python/binaryview.py b/python/binaryview.py index 7e893ab2..b7f5b745 100644 --- a/python/binaryview.py +++ b/python/binaryview.py @@ -5481,7 +5481,9 @@ class BinaryView(object): :param Settings settings: the load settings :rtype: None """ - core.BNBinaryViewSetLoadSettings(self.handle, type_name, settings.handle) + if settings is not None: + settings = settings.handle + core.BNBinaryViewSetLoadSettings(self.handle, type_name, settings) def __setattr__(self, name, value): try: diff --git a/suite/api_test.py b/suite/api_test.py index 51830d21..107b9981 100644 --- a/suite/api_test.py +++ b/suite/api_test.py @@ -172,6 +172,9 @@ class SettingsAPI(unittest.TestCase): assert mapped_view.view_type == bvt_name, "test_load_settings failed" assert mapped_view.segments[0].start == 0x500000, "test_load_settings failed" assert len(mapped_view) == 4, "test_load_settings failed" + assert raw_view.get_load_settings(bvt_name) == load_settings + raw_view.set_load_settings(bvt_name, None) + assert raw_view.get_load_settings(bvt_name) is None class MetaddataAPI(unittest.TestCase): |
