Set window user data using separate function
diff --git a/clients/flower.c b/clients/flower.c
index 5b18846..68c9062 100644
--- a/clients/flower.c
+++ b/clients/flower.c
@@ -141,7 +141,8 @@
 	draw_stuff(s, flower.width, flower.height);
 	cairo_surface_flush(s);
 
-	window_set_frame_handler(flower.window, handle_frame, &flower);
+	window_set_user_data(flower.window, &flower);
+	window_set_frame_handler(flower.window, handle_frame);
 	window_commit(flower.window, 0);
 
 	display_run(d);