ecore-wl: Check for existance of data device manager
authorChris Michael <cp.michael@samsung.com>
Tue, 15 Apr 2014 09:38:51 +0000 (10:38 +0100)
committerChris Michael <cp.michael@samsung.com>
Tue, 15 Apr 2014 09:41:54 +0000 (10:41 +0100)
@fix: Don't segfault if the running compositor never creates a data
device manager.

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

index 3d5ff87..9bab9a1 100644 (file)
@@ -349,11 +349,14 @@ _ecore_wl_input_add(Ecore_Wl_Display *ewd, unsigned int id)
 
    wl_array_init(&input->data_types);
 
-   input->data_device = 
-     wl_data_device_manager_get_data_device(ewd->wl.data_device_manager, 
-                                            input->seat);
-   wl_data_device_add_listener(input->data_device, 
-                               &_ecore_wl_data_listener, input);
+   if (ewd->wl.data_device_manager)
+     {
+        input->data_device = 
+          wl_data_device_manager_get_data_device(ewd->wl.data_device_manager, 
+                                                 input->seat);
+        wl_data_device_add_listener(input->data_device, 
+                                    &_ecore_wl_data_listener, input);
+     }
 
    ewd->input = input;
 }