mirror of
https://github.com/brl/mutter.git
synced 2024-11-26 18:11:05 -05:00
277d86f654
When we are in the the event translation function sometimes we need to synthesise events: the double and triple click events are synthetic events placed on the queue after a sequence of events has been received, for instance. Until now, the events were placed on the queue after the translation from the native events was successful. This led to a loss of ordering because we put the synthesised event on the queue before the last event that triggered it. This patch puts the events on the queue before translating them, with a "pending" flag set; if the translation sequence is completed then the flag is removed - otherwise the event is removed from the queue altogether. The queue manipulation functions have been modified to ignore the "pending" flag when looking for events. This patch also adds a private structure overlayed on the ClutterEvent struct so that we can extend the events with private data without exposing it in the public API. |
||
---|---|---|
.. | ||
clutter-backend-glx.c | ||
clutter-backend-glx.h | ||
clutter-event-glx.c | ||
clutter-glx.h | ||
clutter-stage-glx.c | ||
clutter-stage-glx.h | ||
Makefile.am |