]> Pileus Git - ~andy/gtk/blobdiff - gdk/x11/gdkwindow-x11.c
Add GdkFrameHistory and GdkFrameTimings, handle _NET_WM_FRAME_TIMINGS
[~andy/gtk] / gdk / x11 / gdkwindow-x11.c
index f2c5735e79d5c8d26e6c7d4245c81547bbf2cf37..874db0a8076d5c0186181d59588398e5528594b7 100644 (file)
@@ -853,7 +853,17 @@ static void
 on_frame_clock_after_paint (GdkFrameClock *clock,
                             GdkWindow     *window)
 {
+  GdkToplevelX11 *toplevel = _gdk_x11_window_get_toplevel (window);
+  GdkFrameHistory *history = gdk_frame_clock_get_history (clock);
+  gint64 frame_counter = gdk_frame_history_get_frame_counter (history);
+  GdkFrameTimings *timings = gdk_frame_history_get_timings (history, frame_counter);
+
   gdk_x11_window_end_frame (window);
+
+  if (toplevel->frame_pending)
+    gdk_frame_timings_set_cookie (timings, toplevel->current_counter_value);
+  else
+    gdk_frame_timings_set_complete (timings, TRUE);
 }
 
 void