diff options
| author | Mason Reed <mason@vector35.com> | 2025-04-07 21:29:33 -0400 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2025-04-07 21:56:15 -0400 |
| commit | 10996dd1e571f674a6b4ff04c89f91ee0fc1ecd8 (patch) | |
| tree | 475454ef02183770ff6c35f5a26c698bd5b35587 /view/sharedcache/core/SharedCacheView.cpp | |
| parent | 54df8ea65c83d1af8f05cc552607546a12f04d70 (diff) | |
[SharedCache] Respect workflow override on shared cache databases
Fixes: https://github.com/Vector35/binaryninja-api/issues/6571
Diffstat (limited to 'view/sharedcache/core/SharedCacheView.cpp')
| -rw-r--r-- | view/sharedcache/core/SharedCacheView.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/view/sharedcache/core/SharedCacheView.cpp b/view/sharedcache/core/SharedCacheView.cpp index 14a1670c..2fe32daf 100644 --- a/view/sharedcache/core/SharedCacheView.cpp +++ b/view/sharedcache/core/SharedCacheView.cpp @@ -51,9 +51,6 @@ Ref<Settings> SharedCacheViewType::GetLoadSettingsForData(BinaryView* data) settings->UpdateProperty(override, "readOnly", false); } - Ref<Settings> programSettings = Settings::Instance(); - programSettings->Set("analysis.workflows.functionWorkflow", "core.function.sharedCache", viewRef); - settings->RegisterSetting("loader.dsc.processCFStrings", R"({ "title" : "Process CFString Metadata", @@ -221,7 +218,9 @@ bool SharedCacheView::Init() Ref<Settings> settings = GetLoadSettings(GetTypeName()); - if (!settings) + // If we are a new file (not a database) lets go ahead and set the function workflow. + // We do not set the workflow on database as the user might have changed it in load options prior. + if (!settings && !GetFile()->IsBackedByDatabase()) { Ref<Settings> programSettings = Settings::Instance(); programSettings->Set("analysis.workflows.functionWorkflow", "core.function.sharedCache", this); |
