diff --git a/Userland/DevTools/Profiler/Profile.cpp b/Userland/DevTools/Profiler/Profile.cpp index 76f3f8c764..948ac92bf4 100644 --- a/Userland/DevTools/Profiler/Profile.cpp +++ b/Userland/DevTools/Profiler/Profile.cpp @@ -96,10 +96,8 @@ void Profile::rebuild_tree() continue; } - if (has_process_filter()) { - if (event.pid != m_process_filter_pid || event.timestamp < m_process_filter_start_valid || event.timestamp > m_process_filter_end_valid) - continue; - } + if (!process_filter_contains(event.pid, event.timestamp)) + continue; m_filtered_event_indices.append(event_index); @@ -404,6 +402,14 @@ void Profile::clear_process_filter() m_samples_model->update(); } +bool Profile::process_filter_contains(pid_t pid, u32 timestamp) +{ + if (!has_process_filter()) + return true; + + return (pid == m_process_filter_pid && timestamp >= m_process_filter_start_valid && timestamp <= m_process_filter_end_valid); +} + void Profile::set_inverted(bool inverted) { if (m_inverted == inverted) diff --git a/Userland/DevTools/Profiler/Profile.h b/Userland/DevTools/Profiler/Profile.h index 64572d5b03..4008884b92 100644 --- a/Userland/DevTools/Profiler/Profile.h +++ b/Userland/DevTools/Profiler/Profile.h @@ -174,6 +174,7 @@ public: void set_process_filter(pid_t pid, u64 start_valid, u64 end_valid); void clear_process_filter(); bool has_process_filter() const { return m_has_process_filter; } + bool process_filter_contains(pid_t pid, u32 timestamp); bool is_inverted() const { return m_inverted; } void set_inverted(bool);