raster pushed a commit to branch master.

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

commit db6e4622af6768a9366ad7fd322cb9215715578b
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Mon Feb 26 00:35:20 2018 +0900

    elput - don't segv on shutdown when  libinput dispatch happens to free lib
---
 src/lib/elput/elput_input.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/elput/elput_input.c b/src/lib/elput/elput_input.c
index 08f06cbfd8..06da3d0149 100644
--- a/src/lib/elput/elput_input.c
+++ b/src/lib/elput/elput_input.c
@@ -312,7 +312,7 @@ _process_events(Elput_Input *ei)
 {
    struct libinput_event *event;
 
-   while ((event = libinput_get_event(ei->lib)))
+   while ((ei->lib) && (event = libinput_get_event(ei->lib)))
      {
         _process_event(event);
         libinput_event_destroy(event);
@@ -326,7 +326,7 @@ _cb_input_dispatch(void *data, Ecore_Fd_Handler *hdlr 
EINA_UNUSED)
 
    ei = data;
 
-   if (libinput_dispatch(ei->lib) != 0)
+   if ((ei->lib) && (libinput_dispatch(ei->lib) != 0))
      WRN("libinput failed to dispatch events");
 
    _process_events(ei);

-- 


Reply via email to