ecore_drm: Don't crash if a device is assigned a bad output

Summary:
If an input device is assigned via udev to an output that we can't find
we just assign it to the first output instead.

Reviewers: zmike, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2408
This commit is contained in:
Derek Foreman 2015-04-22 14:32:16 -04:00 committed by Chris Michael
parent 0d1d62a6ab
commit 67460e2d78
1 changed files with 8 additions and 12 deletions

View File

@ -65,20 +65,16 @@ _device_output_set(Ecore_Drm_Evdev *edev)
DBG("Device Has Output Name: %s", oname);
EINA_LIST_FOREACH(input->dev->outputs, l, output)
{
if ((output->name) && (!strcmp(output->name, oname)))
{
edev->output = output;
break;
}
}
}
else
{
if (!(output = eina_list_nth(input->dev->outputs, 0))) return;
edev->output = output;
if ((output->name) && (!strcmp(output->name, oname))) break;
}
if (!output)
output = eina_list_nth(input->dev->outputs, 0);
if (!output) return;
edev->output = output;
if (libinput_device_has_capability(edev->device,
LIBINPUT_DEVICE_CAP_POINTER))
{