forked from enlightenment/enlightenment
e mod: cpufreq - handle the case where cpu has zero freqs - dont crash
it can be that if you remove setuid bits on cpufreq binary we can end up with zero freqs on bsd. this causes a crash. @fix
This commit is contained in:
parent
3cdc11a107
commit
1b73bedd4d
|
@ -1040,22 +1040,28 @@ _cpufreq_face_update_available(Instance *inst)
|
||||||
int i;
|
int i;
|
||||||
unsigned int count;
|
unsigned int count;
|
||||||
|
|
||||||
count = eina_list_count(cpufreq_config->status->frequencies);
|
if (cpufreq_config->status->frequencies)
|
||||||
frequency_msg = malloc(sizeof(Edje_Message_Int_Set) + (count - 1) * sizeof(int));
|
{
|
||||||
EINA_SAFETY_ON_NULL_RETURN(frequency_msg);
|
count = eina_list_count(cpufreq_config->status->frequencies);
|
||||||
frequency_msg->count = count;
|
frequency_msg = malloc(sizeof(Edje_Message_Int_Set) + (count - 1) * sizeof(int));
|
||||||
for (l = cpufreq_config->status->frequencies, i = 0; l; l = l->next, i++)
|
EINA_SAFETY_ON_NULL_RETURN(frequency_msg);
|
||||||
frequency_msg->val[i] = (long)l->data;
|
frequency_msg->count = count;
|
||||||
edje_object_message_send(inst->o_cpu, EDJE_MESSAGE_INT_SET, 1, frequency_msg);
|
for (l = cpufreq_config->status->frequencies, i = 0; l; l = l->next, i++)
|
||||||
free(frequency_msg);
|
frequency_msg->val[i] = (long)l->data;
|
||||||
|
edje_object_message_send(inst->o_cpu, EDJE_MESSAGE_INT_SET, 1, frequency_msg);
|
||||||
|
free(frequency_msg);
|
||||||
|
}
|
||||||
|
|
||||||
count = eina_list_count(cpufreq_config->status->governors);
|
if (cpufreq_config->status->governors)
|
||||||
governor_msg = malloc(sizeof(Edje_Message_String_Set) + (count - 1) * sizeof(char *));
|
{
|
||||||
governor_msg->count = count;
|
count = eina_list_count(cpufreq_config->status->governors);
|
||||||
for (l = cpufreq_config->status->governors, i = 0; l; l = l->next, i++)
|
governor_msg = malloc(sizeof(Edje_Message_String_Set) + (count - 1) * sizeof(char *));
|
||||||
governor_msg->str[i] = (char *)l->data;
|
governor_msg->count = count;
|
||||||
edje_object_message_send(inst->o_cpu, EDJE_MESSAGE_STRING_SET, 2, governor_msg);
|
for (l = cpufreq_config->status->governors, i = 0; l; l = l->next, i++)
|
||||||
free(governor_msg);
|
governor_msg->str[i] = (char *)l->data;
|
||||||
|
edje_object_message_send(inst->o_cpu, EDJE_MESSAGE_STRING_SET, 2, governor_msg);
|
||||||
|
free(governor_msg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in New Issue