summaryrefslogtreecommitdiff
path: root/src/lib/ecore_drm/ecore_drm_launcher.c
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2015-01-06 11:12:54 -0500
committerChris Michael <cp.michael@samsung.com>2015-01-06 11:12:54 -0500
commit32a7eecf504238dd1340272134c53ced9208d5bc (patch)
tree9340847d4db72283a070b801fa87490fa7223c7a /src/lib/ecore_drm/ecore_drm_launcher.c
parent5eb11e1285a47e95ad3fa889dc94a30aef35aa90 (diff)
ecore-drm: Fix incorrect launcher shutdown procedure
Summary: We need to clean tty handlers and close the tty Before we can call logind_disconnect as that function ends up shuttting down our dbus connection. @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
Diffstat (limited to 'src/lib/ecore_drm/ecore_drm_launcher.c')
-rw-r--r--src/lib/ecore_drm/ecore_drm_launcher.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/lib/ecore_drm/ecore_drm_launcher.c b/src/lib/ecore_drm/ecore_drm_launcher.c
index e6309328a5..41f2fe1b50 100644
--- a/src/lib/ecore_drm/ecore_drm_launcher.c
+++ b/src/lib/ecore_drm/ecore_drm_launcher.c
@@ -147,20 +147,20 @@ ecore_drm_launcher_connect(Ecore_Drm_Device *dev)
147EAPI void 147EAPI void
148ecore_drm_launcher_disconnect(Ecore_Drm_Device *dev) 148ecore_drm_launcher_disconnect(Ecore_Drm_Device *dev)
149{ 149{
150 if (logind)
151 {
152 logind = EINA_FALSE;
153 _ecore_drm_logind_disconnect(dev);
154 }
155
156 if (!ecore_drm_tty_close(dev))
157 ERR("Launcher: failed to close tty\n");
158
159 if (dev->tty.event_hdlr) ecore_event_handler_del(dev->tty.event_hdlr); 150 if (dev->tty.event_hdlr) ecore_event_handler_del(dev->tty.event_hdlr);
160 dev->tty.event_hdlr = NULL; 151 dev->tty.event_hdlr = NULL;
161 152
162 if (dev->tty.switch_hdlr) ecore_event_handler_del(dev->tty.switch_hdlr); 153 if (dev->tty.switch_hdlr) ecore_event_handler_del(dev->tty.switch_hdlr);
163 dev->tty.switch_hdlr = NULL; 154 dev->tty.switch_hdlr = NULL;
155
156 if (!ecore_drm_tty_close(dev))
157 ERR("Launcher: failed to close tty\n");
158
159 if (logind)
160 {
161 logind = EINA_FALSE;
162 _ecore_drm_logind_disconnect(dev);
163 }
164} 164}
165 165
166static int 166static int