From 077462c083af241bf654d87a8aaa776834f0e3dc Mon Sep 17 00:00:00 2001 From: Glenn Smith Date: Mon, 7 Feb 2022 16:14:09 -0500 Subject: Triage view: respect "prefer graph view" setting Closes #2941 --- examples/triage/headers.cpp | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'examples/triage/headers.cpp') diff --git a/examples/triage/headers.cpp b/examples/triage/headers.cpp index e327153e..1bd9d732 100644 --- a/examples/triage/headers.cpp +++ b/examples/triage/headers.cpp @@ -33,7 +33,18 @@ void NavigationAddressLabel::clickEvent() { ViewFrame* viewFrame = ViewFrame::viewFrameForWidget(this); if (viewFrame) - viewFrame->navigate("Linear:" + viewFrame->getCurrentDataType(), m_address); + { + if (BinaryNinja::Settings::Instance()->Get("ui.view.graph.preferred") && + viewFrame->getCurrentBinaryView() && + viewFrame->getCurrentBinaryView()->GetAnalysisFunctionsForAddress(m_address).size() > 0) + { + viewFrame->navigate("Graph:" + viewFrame->getCurrentDataType(), m_address); + } + else + { + viewFrame->navigate("Linear:" + viewFrame->getCurrentDataType(), m_address); + } + } } @@ -48,7 +59,18 @@ void NavigationCodeLabel::clickEvent() { ViewFrame* viewFrame = ViewFrame::viewFrameForWidget(this); if (viewFrame) - viewFrame->navigate("Graph:" + viewFrame->getCurrentDataType(), m_address); + { + if (BinaryNinja::Settings::Instance()->Get("ui.view.graph.preferred") && + viewFrame->getCurrentBinaryView() && + viewFrame->getCurrentBinaryView()->GetAnalysisFunctionsForAddress(m_address).size() > 0) + { + viewFrame->navigate("Graph:" + viewFrame->getCurrentDataType(), m_address); + } + else + { + viewFrame->navigate("Linear:" + viewFrame->getCurrentDataType(), m_address); + } + } } -- cgit v1.3.1