diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2019-06-28 18:45:44 +0200 |
---|---|---|
committer | Jonas Ådahl <jadahl@gmail.com> | 2019-07-03 11:42:28 +0200 |
commit | 5db079b052fcb934566f69ea49dd7fc3f6314813 (patch) | |
tree | 3fd6be1c439e9c0bcf3d0c9422b593ea359a1618 /gdk/gdksurfaceprivate.h | |
parent | a2ff6af4b32b9fb2e90c50c94cdea5ef1ae921c9 (diff) | |
download | gtk+-5db079b052fcb934566f69ea49dd7fc3f6314813.tar.gz |
gdk/frameclock: Make surfaces inhibit freeze
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.
Diffstat (limited to 'gdk/gdksurfaceprivate.h')
-rw-r--r-- | gdk/gdksurfaceprivate.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gdk/gdksurfaceprivate.h b/gdk/gdksurfaceprivate.h index ce81b23a84..5f86e3c60a 100644 --- a/gdk/gdksurfaceprivate.h +++ b/gdk/gdksurfaceprivate.h @@ -49,6 +49,7 @@ struct _GdkSurface cairo_region_t *update_area; guint update_freeze_count; + gboolean pending_schedule_update; /* This is the update_area that was in effect when the current expose started. It may be smaller than the expose area if we'e painting more than we have to, but it represents the "true" damage. */ |