sensors: find issue with combo
This commit is contained in:
parent
10bf9e1197
commit
0b45319b8f
|
@ -142,12 +142,15 @@ system_memory_usage_get(meminfo_t *memory);
|
||||||
sensor_t **
|
sensor_t **
|
||||||
system_sensors_thermal_get(int *count);
|
system_sensors_thermal_get(int *count);
|
||||||
|
|
||||||
int
|
|
||||||
system_sensor_thermal_get(sensor_t *snsr);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
system_sensors_thermal_free(sensor_t **sensors, int count);
|
system_sensors_thermal_free(sensor_t **sensors, int count);
|
||||||
|
|
||||||
|
int
|
||||||
|
system_sensor_thermal_get(sensor_t *sensor);
|
||||||
|
|
||||||
|
void
|
||||||
|
system_sensor_thermal_free(sensor_t *sensor);
|
||||||
|
|
||||||
void
|
void
|
||||||
system_power_state_get(power_t *power);
|
system_power_state_get(power_t *power);
|
||||||
|
|
||||||
|
|
|
@ -14,21 +14,27 @@
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
void
|
||||||
|
system_sensor_thermal_free(sensor_t *sensor)
|
||||||
|
{
|
||||||
|
if (sensor->name)
|
||||||
|
free(sensor->name);
|
||||||
|
if (sensor->child_name)
|
||||||
|
free(sensor->child_name);
|
||||||
|
#if defined(__linux__)
|
||||||
|
if (sensor->path)
|
||||||
|
free(sensor->path);
|
||||||
|
#endif
|
||||||
|
free(sensor);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
system_sensors_thermal_free(sensor_t **sensors, int count)
|
system_sensors_thermal_free(sensor_t **sensors, int count)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < count; i++)
|
for (int i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
sensor_t *snsr = sensors[i];
|
sensor_t *sensor = sensors[i];
|
||||||
if (snsr->name)
|
system_sensor_thermal_free(sensor);
|
||||||
free(snsr->name);
|
|
||||||
if (snsr->child_name)
|
|
||||||
free(snsr->child_name);
|
|
||||||
#if defined(__linux__)
|
|
||||||
if (snsr->path)
|
|
||||||
free(snsr->path);
|
|
||||||
#endif
|
|
||||||
free(snsr);
|
|
||||||
}
|
}
|
||||||
if (sensors)
|
if (sensors)
|
||||||
free(sensors);
|
free(sensors);
|
||||||
|
@ -492,7 +498,6 @@ system_power_state_free(power_t *power)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < power->battery_count; i++)
|
for (int i = 0; i < power->battery_count; i++)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (power->batteries[i]->name)
|
if (power->batteries[i]->name)
|
||||||
free(power->batteries[i]->name);
|
free(power->batteries[i]->name);
|
||||||
#if defined(__OpenBSD__)
|
#if defined(__OpenBSD__)
|
||||||
|
|
|
@ -83,7 +83,7 @@ _sensors_update(void *data, Ecore_Thread *thread)
|
||||||
|
|
||||||
while (!ecore_thread_check(thread))
|
while (!ecore_thread_check(thread))
|
||||||
{
|
{
|
||||||
if (pd->selected_it)
|
if (pd->sensor)
|
||||||
{
|
{
|
||||||
if (!system_sensor_thermal_get(pd->sensor))
|
if (!system_sensor_thermal_get(pd->sensor))
|
||||||
msg->thermal_valid = 0;
|
msg->thermal_valid = 0;
|
||||||
|
@ -93,9 +93,11 @@ _sensors_update(void *data, Ecore_Thread *thread)
|
||||||
msg->thermal_temp = pd->sensor->value;
|
msg->thermal_temp = pd->sensor->value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
system_power_state_get(&msg->power);
|
system_power_state_get(&msg->power);
|
||||||
|
|
||||||
ecore_thread_feedback(thread, msg);
|
ecore_thread_feedback(thread, msg);
|
||||||
|
|
||||||
if (ecore_thread_check(thread)) break;
|
if (ecore_thread_check(thread)) break;
|
||||||
|
|
||||||
usleep(1000000);
|
usleep(1000000);
|
||||||
|
@ -112,11 +114,11 @@ _sensors_update_feedback_cb(void *data, Ecore_Thread *thread, void *msgdata)
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
Data *msg = msgdata;
|
Data *msg = msgdata;
|
||||||
|
|
||||||
if (!eina_lock_take_try(&_lock)) return;
|
|
||||||
|
|
||||||
EINA_LIST_FREE(pd->sensors, s)
|
EINA_LIST_FREE(pd->sensors, s)
|
||||||
elm_genlist_item_append(pd->combobox, pd->itc, s,
|
elm_genlist_item_append(pd->combobox, pd->itc, s,
|
||||||
NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
|
NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
|
||||||
|
if (msg->thermal_valid)
|
||||||
|
elm_progressbar_value_set(pd->thermal_pb, msg->thermal_temp / 100);
|
||||||
|
|
||||||
l = eina_list_nth_list(pd->batteries, 0);
|
l = eina_list_nth_list(pd->batteries, 0);
|
||||||
if (l)
|
if (l)
|
||||||
|
@ -126,7 +128,7 @@ _sensors_update_feedback_cb(void *data, Ecore_Thread *thread, void *msgdata)
|
||||||
else
|
else
|
||||||
elm_object_text_set(pd->power_fr, _("Power"));
|
elm_object_text_set(pd->power_fr, _("Power"));
|
||||||
}
|
}
|
||||||
for (int i = 0; i < msg->power.battery_count; i++)
|
for (int i = 0; l && msg->power.battery_count; i++)
|
||||||
{
|
{
|
||||||
if (msg->power.batteries[i]->present)
|
if (msg->power.batteries[i]->present)
|
||||||
{
|
{
|
||||||
|
@ -136,27 +138,16 @@ _sensors_update_feedback_cb(void *data, Ecore_Thread *thread, void *msgdata)
|
||||||
}
|
}
|
||||||
l = eina_list_next(l);
|
l = eina_list_next(l);
|
||||||
}
|
}
|
||||||
if (msg->thermal_valid)
|
|
||||||
elm_progressbar_value_set(pd->thermal_pb, msg->thermal_temp / 100);
|
|
||||||
|
|
||||||
system_power_state_free(&msg->power);
|
system_power_state_free(&msg->power);
|
||||||
|
|
||||||
eina_lock_release(&_lock);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_item_del(void *data, Evas_Object *obj)
|
_item_del(void *data, Evas_Object *obj)
|
||||||
{
|
{
|
||||||
sensor_t *s = data;
|
sensor_t *s = data;
|
||||||
if (s->name)
|
|
||||||
free(s->name);
|
system_sensor_thermal_free(s);
|
||||||
if (s->child_name)
|
|
||||||
free(s->child_name);
|
|
||||||
#if defined(__linux__)
|
|
||||||
if (s->path)
|
|
||||||
free(s->path);
|
|
||||||
#endif
|
|
||||||
free(s);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -175,7 +166,7 @@ _combo_expanded_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_combo_item_pressed_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
|
_combo_item_pressed_cb(void *data, Evas_Object *obj, void *event_info)
|
||||||
{
|
{
|
||||||
Ui_Data *pd;
|
Ui_Data *pd;
|
||||||
Elm_Object_Item *it;
|
Elm_Object_Item *it;
|
||||||
|
@ -193,7 +184,7 @@ _combo_item_pressed_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_inf
|
||||||
}
|
}
|
||||||
|
|
||||||
static Evas_Object *
|
static Evas_Object *
|
||||||
_content_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part EINA_UNUSED)
|
_content_get(void *data, Evas_Object *obj, const char *part)
|
||||||
{
|
{
|
||||||
Evas_Object *bx, *lb;
|
Evas_Object *bx, *lb;
|
||||||
sensor_t *s;
|
sensor_t *s;
|
||||||
|
@ -209,8 +200,8 @@ _content_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part EINA_UNU
|
||||||
evas_object_show(bx);
|
evas_object_show(bx);
|
||||||
|
|
||||||
lb = elm_label_add(obj);
|
lb = elm_label_add(obj);
|
||||||
evas_object_size_hint_weight_set(lb, FILL, FILL);
|
evas_object_size_hint_weight_set(lb, EXPAND, EXPAND);
|
||||||
evas_object_size_hint_align_set(lb, 0.0, EXPAND);
|
evas_object_size_hint_align_set(lb, 0.0, FILL);
|
||||||
_name_set(buf, sizeof(buf), s);
|
_name_set(buf, sizeof(buf), s);
|
||||||
elm_object_text_set(lb, buf);
|
elm_object_text_set(lb, buf);
|
||||||
evas_object_show(lb);
|
evas_object_show(lb);
|
||||||
|
@ -228,7 +219,6 @@ _win_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
Ui_Data *pd = data;
|
Ui_Data *pd = data;
|
||||||
Ui *ui = pd->ui;
|
Ui *ui = pd->ui;
|
||||||
|
|
||||||
eina_lock_take(&_lock);
|
|
||||||
ecore_thread_cancel(ui->sensors.thread);
|
ecore_thread_cancel(ui->sensors.thread);
|
||||||
ecore_thread_wait(ui->sensors.thread, 0.5);
|
ecore_thread_wait(ui->sensors.thread, 0.5);
|
||||||
ui->sensors.thread = NULL;
|
ui->sensors.thread = NULL;
|
||||||
|
@ -241,8 +231,6 @@ _win_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
|
|
||||||
elm_genlist_item_class_free(pd->itc);
|
elm_genlist_item_class_free(pd->itc);
|
||||||
free(pd);
|
free(pd);
|
||||||
eina_lock_release(&_lock);
|
|
||||||
eina_lock_free(&_lock);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -272,8 +260,6 @@ ui_win_sensors_add(Ui *ui)
|
||||||
if (!pd) return;
|
if (!pd) return;
|
||||||
pd->ui = ui;
|
pd->ui = ui;
|
||||||
|
|
||||||
eina_lock_new(&_lock);
|
|
||||||
|
|
||||||
ui->sensors.win = win = elm_win_util_standard_add("evisum", _("Sensors"));
|
ui->sensors.win = win = elm_win_util_standard_add("evisum", _("Sensors"));
|
||||||
elm_win_autodel_set(win, EINA_TRUE);
|
elm_win_autodel_set(win, EINA_TRUE);
|
||||||
evas_object_size_hint_weight_set(win, EXPAND, EXPAND);
|
evas_object_size_hint_weight_set(win, EXPAND, EXPAND);
|
||||||
|
|
Loading…
Reference in New Issue