abort assembly/source loading if no marker is selected in explorer

This commit is contained in:
2026-04-22 10:22:57 +02:00
parent 7067c015bc
commit e36cfdc07d
2 changed files with 14 additions and 1 deletions

View File

@ -30,8 +30,10 @@ my $selected_experiment = $selected_experiments[0];
my $cui = TUI::init_cui(); my $cui = TUI::init_cui();
# TODO: Add a TextEditor panel beside the experiment selection for notes.
# Store notes in experiment/notes/description.txt
# TODO: Add a TextEditor panel below the markers for notes. # TODO: Add a TextEditor panel below the markers for notes.
# Store notes in ./notes/benchmark-type-address.txt # Store notes in experiment/notes/benchmark-type-address.txt
# TODO: Add a more exhaustive faults query that also retrieves # TODO: Add a more exhaustive faults query that also retrieves
# what fault has been injected. Then add an info popup or # what fault has been injected. Then add an info popup or
# display it in the markers panel # display it in the markers panel
@ -171,6 +173,8 @@ sub align_region {
sub load_assembly_elf { sub load_assembly_elf {
my ($marker) = @_; my ($marker) = @_;
return unless defined $marker;
my $address = hex( $marker->{fault_address} ); my $address = hex( $marker->{fault_address} );
if ( !exists $assembly_cache{$address} ) { if ( !exists $assembly_cache{$address} ) {
@ -248,6 +252,8 @@ my %source_line_cache;
sub load_source_c { sub load_source_c {
my ($marker) = @_; my ($marker) = @_;
return unless defined $marker;
my $address = $marker->{fault_address}; my $address = $marker->{fault_address};
if ( !exists $source_cache{$address} ) { if ( !exists $source_cache{$address} ) {

View File

@ -13,6 +13,13 @@ use TUI;
use feature 'say'; use feature 'say';
# TODO: Less navigation if the object is selected first, then the action
# - Differentiate between local/remote object
# - List all types in the same list?
# - Select actions afterwards and apply fitting ones all in one go
# - Hide unfeasible actions
# TODO: Much can be extracted into utility functions
my $local_obsidian = '/home/christoph/Notes/Obsidian/Chriphost'; my $local_obsidian = '/home/christoph/Notes/Obsidian/Chriphost';
my $local_obsidian_attach = "$local_obsidian/attach"; my $local_obsidian_attach = "$local_obsidian/attach";