#include <glib.h>
+#define G_LIST_GET_DATA(list) ((list) ? (((GList *)(list))->data) : NULL)
+
static void _device_modifiers_update(E_Input_Evdev *edev);
static void _device_configured_size_get(E_Input_Evdev *edev, int *x, int *y, int *w, int *h);
static void _device_output_assign(E_Input_Evdev *edev, E_Input_Seat_Capabilities cap);
dev_list = e_device_list_get();
if (!dev_list) return NULL;
- for (l = dev_list, dev = dev_list->data;
+ for (l = dev_list, dev = dev_list->data; \
l; \
- l = g_list_next(l), dev = l->data)
+ l = g_list_next(l), dev = G_LIST_GET_DATA(l))
{
if (!dev) continue;
identifier = e_device_identifier_get(dev);
{
for (glist = edev->e_dev_list, e_dev_data = edev->e_dev_list->data;
glist; \
- glist = g_list_next(l), e_dev_data = l->data)
+ glist = g_list_next(glist), e_dev_data = G_LIST_GET_DATA(glist))
{
if (e_device_class_get(e_dev_data) == ECORE_DEVICE_CLASS_KEYBOARD)
{
e_input_event_add(E_Input_Event_Source *source, int event_type, void *ev_data, ev_free_func free_func, void *free_func_data)
{
E_Input_Event *ev = (E_Input_Event *)calloc(1, sizeof(E_Input_Event));
+ if (!ev) return;
+
ev->ev_data = ev_data;
ev->event_type = event_type;
ev->free_func = free_func;