• Jonas Ådahl's avatar
    gdk/frameclock: Make surfaces inhibit freeze · 5db079b0
    Jonas Ådahl authored
    To make a frame clock tick as long as any of the associated surfaces
    expect to receive ticks, make the surfaces inhibit freezing the clock,
    instead of directly tell the frame clock to freeze itself.
    This makes it so that as long as any surface using a certain frame clock
    is not frozen (e.g. just received a frame event from the display
    server), the frame clock will not be frozen.
    With this, the frame clock is initiated as frozen, and won't be thawed
    until any surface inhibits freeze. It will be frozen again, when every
    surface has that previously inhibited freeze uninhibited freeze.