ecore-drm: Don't recreate ecore_event handlers if we already have them
authorChris Michael <cp.michael@samsung.com>
Tue, 17 Feb 2015 21:13:28 +0000 (16:13 -0500)
committerChris Michael <cp.michael@samsung.com>
Tue, 17 Feb 2015 21:19:55 +0000 (16:19 -0500)
Summary: If we already have the ecore_event_handlers for logind, then
do not recreate them on logind_connect.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
src/lib/ecore_drm/ecore_drm_logind.c

index d49d2c7..47974b5 100644 (file)
@@ -234,13 +234,19 @@ _ecore_drm_logind_connect(Ecore_Drm_Device *dev)
      }
 
    /* setup handler for vt signals */
-   dev->tty.event_hdlr = 
-     ecore_event_handler_add(ECORE_EVENT_SIGNAL_USER, 
-                             _ecore_drm_logind_cb_vt_signal, dev);
+   if (!dev->tty.event_hdlr)
+     {
+        dev->tty.event_hdlr = 
+          ecore_event_handler_add(ECORE_EVENT_SIGNAL_USER, 
+                                  _ecore_drm_logind_cb_vt_signal, dev);
+     }
 
-   active_hdlr = 
-     ecore_event_handler_add(ECORE_DRM_EVENT_ACTIVATE, 
-                             _ecore_drm_logind_cb_activate, dev);
+   if (!active_hdlr)
+     {
+        active_hdlr = 
+          ecore_event_handler_add(ECORE_DRM_EVENT_ACTIVATE, 
+                                  _ecore_drm_logind_cb_activate, dev);
+     }
 
    return EINA_TRUE;