Set window user data using separate function
diff --git a/clients/view.c b/clients/view.c
index ceaf4ce..4ef6b6c 100644
--- a/clients/view.c
+++ b/clients/view.c
@@ -184,10 +184,11 @@
 	 * allocation scheme here.  Or maybe just a real toolkit. */
 	view->key = key + 100;
 
-	window_set_redraw_handler(view->window, redraw_handler, view);
-	window_set_key_handler(view->window, key_handler, view);
+	window_set_user_data(view->window, view);
+	window_set_redraw_handler(view->window, redraw_handler);
+	window_set_key_handler(view->window, key_handler);
 	window_set_keyboard_focus_handler(view->window,
-					  keyboard_focus_handler, view);
+					  keyboard_focus_handler);
 
 	view->document = poppler_document_new_from_file(view->filename,
 							NULL, &error);