+static void
+connect_frame_clock (GdkWindow *window)
+{
+ GdkWindowImplX11 *impl;
+
+ impl = GDK_WINDOW_IMPL_X11 (window->impl);
+ if (WINDOW_IS_TOPLEVEL (window) && !impl->frame_clock_connected)
+ {
+ GdkFrameClock *frame_clock = gdk_window_get_frame_clock (window);
+
+ g_signal_connect (frame_clock, "before-paint",
+ G_CALLBACK (on_frame_clock_before_paint), window);
+ g_signal_connect (frame_clock, "after-paint",
+ G_CALLBACK (on_frame_clock_after_paint), window);
+
+ impl->frame_clock_connected = TRUE;
+ }
+}
+