From 789c2781b1d8fbcbd40a4c53599b6f91612c8710 Mon Sep 17 00:00:00 2001 From: Alastair Poole Date: Tue, 17 Nov 2020 01:14:12 +0000 Subject: [PATCH] icon_cache: fix. --- src/bin/ui/ui_process_list.c | 12 ++---------- src/bin/ui/ui_process_view.c | 2 +- src/bin/ui/ui_util.c | 14 ++++++++++++-- src/bin/ui/ui_util.h | 3 ++- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/bin/ui/ui_process_list.c b/src/bin/ui/ui_process_list.c index d577d3e..7f15724 100644 --- a/src/bin/ui/ui_process_list.c +++ b/src/bin/ui/ui_process_list.c @@ -465,11 +465,6 @@ _content_get(void *data, Evas_Object *obj, const char *source) struct passwd *pwd_entry; Evas_Object *l, *r, *o, *hbx, *pb; Evas_Coord w, ow; -#if defined(__linux__) - const char *kernel_icon = "linux"; -#else - const char *kernel_icon = "freebsd"; -#endif Ui_Data *pd = _private_data; proc = (void *) data; @@ -536,10 +531,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) evas_object_show(l); o = evas_object_data_get(it->obj, "icon"); - if (proc->is_kernel) - elm_icon_standard_set(o, evisum_icon_path_get(kernel_icon)); - else - elm_icon_standard_set(o, evisum_icon_path_get(evisum_icon_cache_find(proc->command))); + elm_icon_standard_set(o, evisum_icon_path_get(evisum_icon_cache_find(proc))); r = evas_object_data_get(o, "rect"); evas_object_size_hint_min_set(r, w, 1); evas_object_show(o); @@ -1029,7 +1021,7 @@ _item_menu_create(Ui_Data *pd, Proc_Info *proc) stopped = !(!strcmp(proc->state, "stop")); menu_it = elm_menu_item_add(menu, NULL, - evisum_icon_path_get(evisum_icon_cache_find(proc->command)), + evisum_icon_path_get(evisum_icon_cache_find(proc)), proc->command, NULL, NULL); menu_it2 = elm_menu_item_add(menu, menu_it, evisum_icon_path_get("window"), diff --git a/src/bin/ui/ui_process_view.c b/src/bin/ui/ui_process_view.c index 7db228d..4ad0acd 100644 --- a/src/bin/ui/ui_process_view.c +++ b/src/bin/ui/ui_process_view.c @@ -465,7 +465,7 @@ _tree_icon_get(void *data, Evas_Object *obj, const char *part) if (!strcmp(part, "elm.swallow.icon")) { - elm_icon_standard_set(ic, evisum_icon_path_get(evisum_icon_cache_find(proc->command))); + elm_icon_standard_set(ic, evisum_icon_path_get(evisum_icon_cache_find(proc))); } evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); diff --git a/src/bin/ui/ui_util.c b/src/bin/ui/ui_util.c index 0ac8da8..030389b 100644 --- a/src/bin/ui/ui_util.c +++ b/src/bin/ui/ui_util.c @@ -170,13 +170,23 @@ evisum_icon_cache_shutdown(void) eina_hash_free(_icon_cache); } + const char * -evisum_icon_cache_find(const char *cmd) +evisum_icon_cache_find(const Proc_Info *proc) { Efreet_Desktop *e; - const char *name; + const char *name, *cmd; char *exists; + if (proc->is_kernel) +#if defined(__linux__) + return "linux"; +#else + return "freebsd; +#endif + + cmd = proc->command; + exists = eina_hash_find(_icon_cache, cmd); if (exists) return exists; diff --git a/src/bin/ui/ui_util.h b/src/bin/ui/ui_util.h index a11d842..976e011 100644 --- a/src/bin/ui/ui_util.h +++ b/src/bin/ui/ui_util.h @@ -2,6 +2,7 @@ #define __UI_UTIL_H__ #include +#include "system/process.h" #define FILL EVAS_HINT_FILL #define EXPAND EVAS_HINT_EXPAND @@ -23,7 +24,7 @@ void evisum_icon_cache_shutdown(void); const char * -evisum_icon_cache_find(const char *cmd); +evisum_icon_cache_find(const Proc_Info *proc); Evas_Object * evisum_ui_tab_add(Evas_Object *parent, Evas_Object **alias, const char *text,