wl_fixed_from_int(ev->canvas.y - ec->client.y));
ec->pointer_enter_sent = EINA_TRUE;
}
-
- wl_signal_emit(&e_comp_wl->ptr_constraints.surface_mousein_signal, ec);
+ if (ev->timestamp)
+ wl_signal_emit(&e_comp_wl->ptr_constraints.surface_mousein_signal, ec);
+ else
+ ELOGF("Mouse", "In. Event doesn't have timestamp. no need to send signal", NULL);
}
static void
wl_pointer_send_leave(res, serial, surface);
ec->pointer_enter_sent = EINA_FALSE;
}
- wl_signal_emit(&e_comp_wl->ptr_constraints.surface_mouseout_signal, ec);
+ if (ev->timestamp)
+ wl_signal_emit(&e_comp_wl->ptr_constraints.surface_mouseout_signal, ec);
+ else
+ ELOGF("Mouse", "Out. Event doesn't have timestamp. no need to send signal", NULL);
}
static void
ev->window = (Ecore_Window)input->dev->window;
ev->event_window = (Ecore_Window)input->dev->window;
ev->root_window = (Ecore_Window)input->dev->window;
- if (event) ev->timestamp = libinput_event_pointer_get_time(event);
ev->same_screen = 1;
_device_modifiers_update(edev);
ev->root.x = ev->x;
ev->root.y = ev->y;
+ if (event)
+ {
+ ev->timestamp = libinput_event_pointer_get_time(event);
+ }
+ else
+ {
+ ev->timestamp = e_util_timestamp_get();
+ ELOGF("Mouse", "Move (x: %d, y: %d, timestamp: %u (current time), device: %s)", NULL,
+ ev->x, ev->y, ev->timestamp, ecore_device_name_get(ecore_dev));
+ }
+
ev->multi.device = edev->mt_slot;
ev->multi.radius = 1;
ev->multi.radius_x = 1;