summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2018-03-30 15:36:54 +0200
committerBenjamin Otte <otte@redhat.com>2018-03-30 16:50:54 +0200
commitc13fff8adb725f80d4945c8b913e4031ef19bcbe (patch)
tree90b4b81fe05ec4161e7bfa19f577473b7e686b7e /gdk
parent7201e6312041bb5a778dfe47e944a9edda1e2e5a (diff)
downloadgtk+-c13fff8adb725f80d4945c8b913e4031ef19bcbe.tar.gz
x11: Always request frame updates
This ensures that the frame clock gets updated with correct presentation times even if nothing was drawn. This is necessary for benchmarking but would also be relevant for videos that want to sync to the frame clock but draw frames a lot less.
Diffstat (limited to 'gdk')
-rw-r--r--gdk/x11/gdksurface-x11.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gdk/x11/gdksurface-x11.c b/gdk/x11/gdksurface-x11.c
index 29385afb7e..387582f477 100644
--- a/gdk/x11/gdksurface-x11.c
+++ b/gdk/x11/gdksurface-x11.c
@@ -406,6 +406,10 @@ gdk_x11_surface_end_frame (GdkSurface *surface)
clock = gdk_surface_get_frame_clock (surface);
timings = gdk_frame_clock_get_current_timings (clock);
+ /* Make sure we request timing updates even if nothing was damaged.
+ * We want the frame clock to be accurate. */
+ gdk_x11_surface_pre_damage (surface);
+
impl->toplevel->in_frame = FALSE;
if (impl->toplevel->current_counter_value % 2 == 1)