devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=67460e2d78c88f525f15620ae7a583b21fc997d4

commit 67460e2d78c88f525f15620ae7a583b21fc997d4
Author: Derek Foreman <der...@osg.samsung.com>
Date:   Wed Apr 22 14:32:16 2015 -0400

    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
---
 src/lib/ecore_drm/ecore_drm_evdev.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c 
b/src/lib/ecore_drm/ecore_drm_evdev.c
index 9f46516..04275fd 100644
--- a/src/lib/ecore_drm/ecore_drm_evdev.c
+++ b/src/lib/ecore_drm/ecore_drm_evdev.c
@@ -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))
      {

-- 


Reply via email to