From f6ccff944af879ed94b6854744440dc7a0d4c37a Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 29 Jul 2021 11:27:13 +0200 Subject: [PATCH] Profiler: Don't perform disassembly when disassembly view is hidden --- Userland/DevTools/Profiler/main.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Userland/DevTools/Profiler/main.cpp b/Userland/DevTools/Profiler/main.cpp index 90d229b7bf..ad835f4067 100644 --- a/Userland/DevTools/Profiler/main.cpp +++ b/Userland/DevTools/Profiler/main.cpp @@ -143,14 +143,22 @@ int main(int argc, char** argv) auto& disassembly_view = bottom_splitter.add(); disassembly_view.set_visible(false); + auto update_disassembly_model = [&] { + if (disassembly_view.is_visible() && !tree_view.selection().is_empty()) { + profile->set_disassembly_index(tree_view.selection().first()); + disassembly_view.set_model(profile->disassembly_model()); + } else { + disassembly_view.set_model(nullptr); + } + }; + tree_view.on_selection_change = [&] { - const auto& index = tree_view.selection().first(); - profile->set_disassembly_index(index); - disassembly_view.set_model(profile->disassembly_model()); + update_disassembly_model(); }; auto disassembly_action = GUI::Action::create_checkable("Show &Disassembly", { Mod_Ctrl, Key_D }, Gfx::Bitmap::try_load_from_file("/res/icons/16x16/x86.png"), [&](auto& action) { disassembly_view.set_visible(action.is_checked()); + update_disassembly_model(); }); auto& samples_tab = tab_widget.add_tab("Samples");