icon_cache: openbsd changes.
Same arch different processor different results, something is getting clobbered, but not by us. This is ok.
This commit is contained in:
parent
ff075963f2
commit
7bbb821d71
|
@ -738,7 +738,6 @@ evisum_ui_activate(Evisum_Ui *ui, Evisum_Action action, int pid)
|
|||
void
|
||||
evisum_ui_shutdown(Evisum_Ui *ui)
|
||||
{
|
||||
evisum_icon_cache_shutdown();
|
||||
evisum_ui_config_save(ui);
|
||||
|
||||
ecore_thread_cancel(ui->background_poll_thread);
|
||||
|
@ -763,8 +762,6 @@ evisum_ui_init(void)
|
|||
|
||||
evisum_ui_config_load(ui);
|
||||
|
||||
evisum_icon_cache_init();
|
||||
|
||||
_ui_init_system_probe(ui);
|
||||
|
||||
return ui;
|
||||
|
|
|
@ -27,6 +27,7 @@ typedef struct
|
|||
{
|
||||
Ecore_Thread *thread;
|
||||
Evisum_Ui_Cache *cache;
|
||||
Eina_Hash *icon_cache;
|
||||
Ecore_Event_Handler *handler;
|
||||
Eina_Hash *cpu_times;
|
||||
Eina_Bool skip_wait;
|
||||
|
@ -742,7 +743,7 @@ _content_get(void *data, Evas_Object *obj, const char *source)
|
|||
evas_object_size_hint_min_set(rec, w, 1);
|
||||
evas_object_show(lb);
|
||||
|
||||
const char *new = evisum_icon_path_get(evisum_icon_cache_find(proc));
|
||||
const char *new = evisum_icon_path_get(evisum_icon_cache_find(wd->icon_cache, proc));
|
||||
const char *old = NULL;
|
||||
o = evas_object_data_get(it->obj, "icon");
|
||||
elm_image_file_get(o, &old, NULL);
|
||||
|
@ -1547,7 +1548,7 @@ _item_menu_create(Win_Data *wd, 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)),
|
||||
evisum_icon_path_get(evisum_icon_cache_find(wd->icon_cache, proc)),
|
||||
proc->command, NULL, NULL);
|
||||
|
||||
menu_it2 = elm_menu_item_add(menu, menu_it, evisum_icon_path_get("actions"),
|
||||
|
@ -2340,6 +2341,7 @@ _win_del_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED,
|
|||
ecore_thread_wait(wd->thread, 0.5);
|
||||
|
||||
ecore_event_handler_del(wd->handler);
|
||||
evisum_icon_cache_del(wd->icon_cache);
|
||||
|
||||
wd->thread = NULL;
|
||||
ui->proc.win = NULL;
|
||||
|
@ -2447,6 +2449,7 @@ ui_process_list_win_add(Evisum_Ui *ui)
|
|||
elm_object_content_set(win, tb);
|
||||
|
||||
wd->cache = evisum_ui_item_cache_new(wd->glist, _item_create, 30);
|
||||
wd->icon_cache = evisum_icon_cache_new();
|
||||
wd->cpu_times = eina_hash_int64_new(_cpu_times_free_cb);
|
||||
|
||||
evas_object_event_callback_add(win, EVAS_CALLBACK_DEL,
|
||||
|
|
|
@ -31,6 +31,8 @@ typedef struct
|
|||
|
||||
Eina_Bool kthreads_has_rss;
|
||||
|
||||
Eina_Hash *icon_cache;
|
||||
|
||||
struct
|
||||
{
|
||||
Evas_Object *entry_cmd;
|
||||
|
@ -570,14 +572,17 @@ static Evas_Object *
|
|||
_children_icon_get(void *data, Evas_Object *obj, const char *part)
|
||||
{
|
||||
Proc_Info *proc;
|
||||
Win_Data *wd;
|
||||
Evas_Object *ic = elm_icon_add(obj);
|
||||
|
||||
proc = data;
|
||||
wd = evas_object_data_get(obj, "windata");
|
||||
|
||||
if (!strcmp(part, "elm.swallow.icon"))
|
||||
{
|
||||
elm_icon_standard_set(ic,
|
||||
evisum_icon_path_get(
|
||||
evisum_icon_cache_find(proc)));
|
||||
evisum_icon_cache_find(wd->icon_cache, proc)));
|
||||
}
|
||||
|
||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
|
||||
|
@ -1158,7 +1163,7 @@ _general_tab_add(Evas_Object *parent, Win_Data *wd)
|
|||
evas_object_size_hint_align_set(ic, FILL, FILL);
|
||||
elm_icon_standard_set(ic,
|
||||
evisum_icon_path_get(
|
||||
evisum_icon_cache_find(proc)));
|
||||
evisum_icon_cache_find(wd->icon_cache, proc)));
|
||||
evas_object_show(ic);
|
||||
proc_info_free(proc);
|
||||
elm_table_pack(tb, ic, 0, i, 1, 1);
|
||||
|
@ -1514,7 +1519,7 @@ _children_tab_add(Evas_Object *parent, Win_Data *wd)
|
|||
elm_object_content_set(fr, bx);
|
||||
|
||||
wd->children.glist = glist = elm_genlist_add(parent);
|
||||
evas_object_data_set(glist, "ui", wd);
|
||||
evas_object_data_set(glist, "windata", wd);
|
||||
elm_object_focus_allow_set(glist, 1);
|
||||
elm_genlist_homogeneous_set(glist, 1);
|
||||
elm_genlist_select_mode_set(glist, ELM_OBJECT_SELECT_MODE_DEFAULT);
|
||||
|
@ -1729,6 +1734,8 @@ _win_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
|||
if (wd->threads.cache)
|
||||
evisum_ui_item_cache_free(wd->threads.cache);
|
||||
|
||||
evisum_icon_cache_del(wd->icon_cache);
|
||||
|
||||
evas_object_del(win);
|
||||
|
||||
free(wd);
|
||||
|
@ -1795,6 +1802,7 @@ ui_process_view_win_add(int pid, Evisum_Proc_Action action)
|
|||
wd->threads.cache = NULL;
|
||||
wd->threads.sort_reverse = 1;
|
||||
wd->threads.sort_cb = _sort_by_cpu_usage;
|
||||
wd->icon_cache = evisum_icon_cache_new();
|
||||
|
||||
proc = proc_info_by_pid(pid);
|
||||
if (!proc)
|
||||
|
|
|
@ -5,11 +5,6 @@
|
|||
|
||||
#define ARRAY_SIZE(n) sizeof(n) / sizeof(n[0])
|
||||
|
||||
#if !defined(__OpenBSD__)
|
||||
static
|
||||
#endif
|
||||
Eina_Hash *_icon_cache;
|
||||
|
||||
Evas_Object *
|
||||
evisum_ui_tab_add(Evas_Object *parent, Evas_Object **alias, const char *text,
|
||||
Evas_Smart_Cb clicked_cb, void *data)
|
||||
|
@ -158,21 +153,24 @@ _icon_cache_free_cb(void *data)
|
|||
free(ic_name);
|
||||
}
|
||||
|
||||
void
|
||||
evisum_icon_cache_init(void)
|
||||
Eina_Hash *
|
||||
evisum_icon_cache_new(void)
|
||||
{
|
||||
_icon_cache = NULL;
|
||||
_icon_cache = eina_hash_string_superfast_new(_icon_cache_free_cb);
|
||||
Eina_Hash *icon_cache;
|
||||
|
||||
icon_cache = eina_hash_string_superfast_new(_icon_cache_free_cb);
|
||||
|
||||
return icon_cache;
|
||||
}
|
||||
|
||||
void
|
||||
evisum_icon_cache_shutdown(void)
|
||||
evisum_icon_cache_del(Eina_Hash *icon_cache)
|
||||
{
|
||||
eina_hash_free(_icon_cache);
|
||||
eina_hash_free(icon_cache);
|
||||
}
|
||||
|
||||
const char *
|
||||
evisum_icon_cache_find(const Proc_Info *proc)
|
||||
evisum_icon_cache_find(Eina_Hash *icon_cache, const Proc_Info *proc)
|
||||
{
|
||||
Efreet_Desktop *e;
|
||||
const char *name, *cmd;
|
||||
|
@ -187,7 +185,7 @@ evisum_icon_cache_find(const Proc_Info *proc)
|
|||
|
||||
cmd = proc->command;
|
||||
|
||||
exists = eina_hash_find(_icon_cache, cmd);
|
||||
exists = eina_hash_find(icon_cache, cmd);
|
||||
if (exists) return exists;
|
||||
|
||||
if (!strncmp(cmd, "enlightenment", 13)) return "e";
|
||||
|
@ -201,7 +199,7 @@ evisum_icon_cache_find(const Proc_Info *proc)
|
|||
else
|
||||
name = cmd;
|
||||
|
||||
eina_hash_add(_icon_cache, cmd, strdup(name));
|
||||
eina_hash_add(icon_cache, cmd, strdup(name));
|
||||
|
||||
efreet_desktop_free(e);
|
||||
|
||||
|
|
|
@ -16,14 +16,14 @@
|
|||
#define UI_CHILD_WIN_WIDTH 360
|
||||
#define UI_CHILD_WIN_HEIGHT 360
|
||||
|
||||
void
|
||||
evisum_icon_cache_init(void);
|
||||
Eina_Hash *
|
||||
evisum_icon_cache_new(void);
|
||||
|
||||
void
|
||||
evisum_icon_cache_shutdown(void);
|
||||
evisum_icon_cache_del(Eina_Hash *icon_cache);
|
||||
|
||||
const char *
|
||||
evisum_icon_cache_find(const Proc_Info *proc);
|
||||
evisum_icon_cache_find(Eina_Hash *icon_cache, const Proc_Info *proc);
|
||||
|
||||
Evas_Object *
|
||||
evisum_ui_tab_add(Evas_Object *parent, Evas_Object **alias, const char *text,
|
||||
|
|
Loading…
Reference in New Issue