diff options
| author | Mason Reed <mason@vector35.com> | 2025-10-03 20:51:28 -0400 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2025-10-03 20:51:28 -0400 |
| commit | 01915decba6ccae5537386b39bafb14b9eca46f9 (patch) | |
| tree | 5c115d1f0f4f2798738f720f362b246eb8a1ea95 /plugins/warp | |
| parent | 909589140c9c3d1656d283d1e2751df3aa45ad99 (diff) | |
[WARP] Fix sidebar not refreshing after fetching data from server
Diffstat (limited to 'plugins/warp')
| -rw-r--r-- | plugins/warp/ui/plugin.cpp | 9 |
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() |
