summaryrefslogtreecommitdiff
path: root/clients/gears.c
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2011-03-14 12:07:26 +0100
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2011-03-17 11:54:35 +0100
commitec4d342aa9b536c71bcf0d75249549860941793b (patch)
tree8652a1301f50a3db74f951a1d15dd84ded1cd40a /clients/gears.c
parent9c26ff3507da9708f5028b37ee9a23df43be0246 (diff)
Support per surface frame events
This fixes tearing with multi head.
Diffstat (limited to 'clients/gears.c')
-rw-r--r--clients/gears.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/clients/gears.c b/clients/gears.c
index 8496abb..5c2b3cf 100644
--- a/clients/gears.c
+++ b/clients/gears.c
@@ -334,7 +334,7 @@ redraw_handler(struct window *window, void *data)
}
static void
-frame_callback(void *data, uint32_t time)
+frame_callback(struct wl_surface *surface, void *data, uint32_t time)
{
struct gears *gears = data;
@@ -344,6 +344,7 @@ frame_callback(void *data, uint32_t time)
window_schedule_redraw(gears->window);
wl_display_frame_callback(display_get_display(gears->d),
+ window_get_wl_surface(gears->window),
frame_callback, gears);
}
@@ -412,6 +413,7 @@ gears_create(struct display *display)
draw_gears(gears);
wl_display_frame_callback(display_get_display(gears->d),
+ window_get_wl_surface(gears->window),
frame_callback, gears);
return gears;