diff options
| author | Brian Potchik <brian@vector35.com> | 2020-10-15 17:51:31 -0400 |
|---|---|---|
| committer | Brian Potchik <brian@vector35.com> | 2020-10-15 17:51:31 -0400 |
| commit | 84230e606e8de3f7c01aa9006c7f14caf25c5c49 (patch) | |
| tree | 5107b3a0975b8524e14a07aa2a575f9a86d90df2 | |
| parent | cbe3ded641a0ce4b50ae447a4426b71f3e0f0119 (diff) | |
Cleanup load options when choosing to not open specific BinaryView types during open with 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): |
