summaryrefslogtreecommitdiff
path: root/plugins/warp/ui
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-10-03 20:51:28 -0400
committerMason Reed <mason@vector35.com>2025-10-03 20:51:28 -0400
commit01915decba6ccae5537386b39bafb14b9eca46f9 (patch)
tree5c115d1f0f4f2798738f720f362b246eb8a1ea95 /plugins/warp/ui
parent909589140c9c3d1656d283d1e2751df3aa45ad99 (diff)
[WARP] Fix sidebar not refreshing after fetching data from server
Diffstat (limited to 'plugins/warp/ui')
-rw-r--r--plugins/warp/ui/plugin.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/plugins/warp/ui/plugin.cpp b/plugins/warp/ui/plugin.cpp
index 388fea3c..d4860b91 100644
--- a/plugins/warp/ui/plugin.cpp
+++ b/plugins/warp/ui/plugin.cpp
@@ -163,17 +163,24 @@ WarpSidebarWidget::WarpSidebarWidget(BinaryViewRef data) : SidebarWidget("WARP")
tabWidget->addTab(matchedFrame, "Matched Functions");
tabWidget->addTab(containerFrame, "Containers");
+ // Do a full update if analysis has been done, otherwise we may persist old data and not have new data.
m_analysisEvent = new AnalysisCompletionEvent(m_data, [this]() {
ExecuteOnMainThread([this]() {
Update();
});
});
+ std::shared_ptr<WarpFetcher> fetcher = WarpFetcher::Global();
+ fetcher->AddCompletionCallback([this]() {
+ Update();
+ return KeepCallback;
+ });
+
layout->addWidget(tabWidget);
this->setLayout(layout);
// NOTE: This fetcher is shared with the fetch dialog that is constructed on initialization of this plugin.
- m_currentFunctionWidget->SetFetcher(WarpFetcher::Global());
+ m_currentFunctionWidget->SetFetcher(fetcher);
}
WarpSidebarWidget::~WarpSidebarWidget()