proclist: fix that leak.
custom callback pointer is being leaked in elm_progressbar. 2 pointers / 16 bytes. This is ... not leaking
This commit is contained in:
parent
0ee2260c3f
commit
f4a6fb8166
|
@ -12,7 +12,6 @@
|
||||||
#include <sys/resource.h>
|
#include <sys/resource.h>
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
|
|
||||||
#define PROGRESS_CUSTOM_FORMAT 1
|
|
||||||
#define DIRTY_GENLIST_HACK 1
|
#define DIRTY_GENLIST_HACK 1
|
||||||
|
|
||||||
extern int EVISUM_EVENT_CONFIG_CHANGED;
|
extern int EVISUM_EVENT_CONFIG_CHANGED;
|
||||||
|
@ -94,10 +93,6 @@ typedef struct
|
||||||
|
|
||||||
static Ui_Data *_pd = NULL;
|
static Ui_Data *_pd = NULL;
|
||||||
|
|
||||||
#if PROGRESS_CUSTOM_FORMAT
|
|
||||||
static double _cpu_usage = 0.0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
Proc_Field id;
|
Proc_Field id;
|
||||||
|
@ -317,24 +312,6 @@ _item_column_add(Evas_Object *tb, const char *text, int col)
|
||||||
return lb;
|
return lb;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if PROGRESS_CUSTOM_FORMAT
|
|
||||||
static char *
|
|
||||||
_pb_format_cb(double val)
|
|
||||||
{
|
|
||||||
static char buf[32];
|
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "%1.1f %%", _cpu_usage);
|
|
||||||
|
|
||||||
return strdup(buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_pb_format_free_cb(char *str)
|
|
||||||
{
|
|
||||||
free(str);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static Evas_Object *
|
static Evas_Object *
|
||||||
_item_create(Evas_Object *obj)
|
_item_create(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
@ -444,11 +421,6 @@ _item_create(Evas_Object *obj)
|
||||||
evas_object_size_hint_weight_set(pb, EXPAND, EXPAND);
|
evas_object_size_hint_weight_set(pb, EXPAND, EXPAND);
|
||||||
evas_object_size_hint_align_set(pb, FILL, FILL);
|
evas_object_size_hint_align_set(pb, FILL, FILL);
|
||||||
elm_progressbar_unit_format_set(pb, "%1.1f %%");
|
elm_progressbar_unit_format_set(pb, "%1.1f %%");
|
||||||
#if PROGRESS_CUSTOM_FORMAT
|
|
||||||
elm_progressbar_unit_format_function_set(pb,
|
|
||||||
_pb_format_cb,
|
|
||||||
_pb_format_free_cb);
|
|
||||||
#endif
|
|
||||||
elm_table_pack(tb, pb, i++, 0, 1, 1);
|
elm_table_pack(tb, pb, i++, 0, 1, 1);
|
||||||
evas_object_data_set(tb, "proc_cpu_usage", pb);
|
evas_object_data_set(tb, "proc_cpu_usage", pb);
|
||||||
}
|
}
|
||||||
|
@ -680,13 +652,15 @@ _content_get(void *data, Evas_Object *obj, const char *source)
|
||||||
if (_field_enabled(PROC_FIELD_CPU_USAGE))
|
if (_field_enabled(PROC_FIELD_CPU_USAGE))
|
||||||
{
|
{
|
||||||
pb = evas_object_data_get(it->obj, "proc_cpu_usage");
|
pb = evas_object_data_get(it->obj, "proc_cpu_usage");
|
||||||
#if PROGRESS_CUSTOM_FORMAT
|
|
||||||
_cpu_usage = proc->cpu_usage;
|
|
||||||
#endif
|
|
||||||
double value = proc->cpu_usage / 100.0;
|
double value = proc->cpu_usage / 100.0;
|
||||||
double last = elm_progressbar_value_get(pb);
|
double last = elm_progressbar_value_get(pb);
|
||||||
|
|
||||||
if (!EINA_DBL_EQ(value, last))
|
if (!EINA_DBL_EQ(value, last))
|
||||||
elm_progressbar_value_set(pb, proc->cpu_usage / 100.0);
|
{
|
||||||
|
elm_progressbar_value_set(pb, proc->cpu_usage / 100.0);
|
||||||
|
snprintf(buf, sizeof(buf), "%1.1f %%", proc->cpu_usage);
|
||||||
|
elm_object_part_text_set(pb, "elm.text.status", buf);
|
||||||
|
}
|
||||||
evas_object_show(pb);
|
evas_object_show(pb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue