From e4267020c4212fdead8b044b294c7daafab70ce9 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 14 Dec 2019 15:46:18 +0100 Subject: [PATCH] ProfileViewer: Show kernel frames with a red icon :^) --- Base/res/icons/16x16/inspector-object-red.png | Bin 0 -> 196 bytes DevTools/ProfileViewer/ProfileModel.cpp | 10 +++++++--- DevTools/ProfileViewer/ProfileModel.h | 4 +++- 3 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 Base/res/icons/16x16/inspector-object-red.png diff --git a/Base/res/icons/16x16/inspector-object-red.png b/Base/res/icons/16x16/inspector-object-red.png new file mode 100644 index 0000000000000000000000000000000000000000..c73803f4901e8bafe15a9d4944fd113eeff3a662 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7x;M+VU_RIwbMP=SGf`Im`64Icy5jP5#Dl%n5A|F8f?yNMhK<*mGgU zA+9%Ky2=v07Q6?SNzNA!;5oQ-rq;~PBnF1#Zu-iy?!~_u7#J8lUHx3vIVCg!0OnXp Ap8x;= literal 0 HcmV?d00001 diff --git a/DevTools/ProfileViewer/ProfileModel.cpp b/DevTools/ProfileViewer/ProfileModel.cpp index f2caf8362d..427023cdb4 100644 --- a/DevTools/ProfileViewer/ProfileModel.cpp +++ b/DevTools/ProfileViewer/ProfileModel.cpp @@ -7,7 +7,8 @@ ProfileModel::ProfileModel(Profile& profile) : m_profile(profile) { - m_frame_icon.set_bitmap_for_size(16, GraphicsBitmap::load_from_file("/res/icons/16x16/inspector-object.png")); + m_user_frame_icon.set_bitmap_for_size(16, GraphicsBitmap::load_from_file("/res/icons/16x16/inspector-object.png")); + m_kernel_frame_icon.set_bitmap_for_size(16, GraphicsBitmap::load_from_file("/res/icons/16x16/inspector-object-red.png")); } ProfileModel::~ProfileModel() @@ -90,8 +91,11 @@ GVariant ProfileModel::data(const GModelIndex& index, Role role) const { auto* node = static_cast(index.internal_data()); if (role == Role::Icon) { - if (index.column() == Column::StackFrame) - return m_frame_icon; + if (index.column() == Column::StackFrame) { + if (node->address() < (8 * MB)) + return m_kernel_frame_icon; + return m_user_frame_icon; + } return {}; } if (role == Role::Display) { diff --git a/DevTools/ProfileViewer/ProfileModel.h b/DevTools/ProfileViewer/ProfileModel.h index cb64d1bdb8..05a746ef96 100644 --- a/DevTools/ProfileViewer/ProfileModel.h +++ b/DevTools/ProfileViewer/ProfileModel.h @@ -33,5 +33,7 @@ private: explicit ProfileModel(Profile&); Profile& m_profile; - GIcon m_frame_icon; + + GIcon m_user_frame_icon; + GIcon m_kernel_frame_icon; };