ecore_drm2: Open elput manager before drm device
authorDerek Foreman <derekf@osg.samsung.com>
Fri, 21 Jul 2017 21:36:06 +0000 (16:36 -0500)
committerDerek Foreman <derekf@osg.samsung.com>
Fri, 21 Jul 2017 21:46:00 +0000 (16:46 -0500)
We're going to need to access the device as part of the find process,
so we need a manager.

src/lib/ecore_drm2/ecore_drm2_device.c

index bc3eca0..5552eeb 100644 (file)
@@ -570,13 +570,6 @@ ecore_drm2_device_find(const char *seat, unsigned int tty)
    dev = calloc(1, sizeof(Ecore_Drm2_Device));
    if (!dev) return NULL;
 
-   dev->path = _drm2_device_find(seat);
-   if (!dev->path)
-     {
-        ERR("Could not find drm device on seat %s", seat);
-        goto path_err;
-     }
-
    dev->em = elput_manager_connect(seat, tty);
    if (!dev->em)
      {
@@ -584,11 +577,18 @@ ecore_drm2_device_find(const char *seat, unsigned int tty)
         goto man_err;
      }
 
+   dev->path = _drm2_device_find(dev->em, seat);
+   if (!dev->path)
+     {
+        ERR("Could not find drm device on seat %s", seat);
+        goto path_err;
+     }
+
    return dev;
 
-man_err:
-   eina_stringshare_del(dev->path);
 path_err:
+   elput_manager_disconnect(dev->em);
+man_err:
    free(dev);
    return NULL;
 }