Skip to content
  • Emanuele Aina's avatar
    events: Make _clutter_process_event() reentrant · cea8ea06
    Emanuele Aina authored and Emmanuele Bassi's avatar Emmanuele Bassi committed
    The _clutter_process_event() function may get called while already
    servicing a _clutter_process_event() invocation (eg. when generating
    ENTER events before emitting TOUCH_BEGIN).
    
    In these cases clutter_get_current_event() would return NULL after
    the inner call to _clutter_process_event() has finished, thereafter
    making the current event inaccessible during the remaining portion
    of the outer event emission.
    
    By stacking the current events in ClutterMainContext instead of
    simply replacing them we do not lose track of the real current event.
    
    Also update clutter_get_current_event_time() to be consistent from a
    reentrancy perspective.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=688457
    cea8ea06