Index: uspace/srv/hid/compositor/compositor.c
===================================================================
--- uspace/srv/hid/compositor/compositor.c	(revision 7c3fb9bd77e4d2f6c10517a052e567f176fa91ee)
+++ uspace/srv/hid/compositor/compositor.c	(revision 63d46341182c752620dcc5a2233d205cee1075dd)
@@ -602,29 +602,29 @@
 }
 
-static void comp_window_get_event(window_t *win, cap_call_handle_t icall_handle, ipc_call_t *icall)
+static void comp_window_get_event(window_t *win, ipc_call_t *icall)
 {
 	window_event_t *event = (window_event_t *) prodcons_consume(&win->queue);
 
-	cap_call_handle_t chandle;
+	ipc_call_t call;
 	size_t len;
 
-	if (!async_data_read_receive(&chandle, &len)) {
-		async_answer_0(icall_handle, EINVAL);
+	if (!async_data_read_receive(&call, &len)) {
+		async_answer_0(icall, EINVAL);
 		free(event);
 		return;
 	}
 
-	errno_t rc = async_data_read_finalize(chandle, event, len);
+	errno_t rc = async_data_read_finalize(&call, event, len);
 	if (rc != EOK) {
-		async_answer_0(icall_handle, ENOMEM);
+		async_answer_0(icall, ENOMEM);
 		free(event);
 		return;
 	}
 
-	async_answer_0(icall_handle, EOK);
+	async_answer_0(icall, EOK);
 	free(event);
 }
 
-static void comp_window_damage(window_t *win, cap_call_handle_t icall_handle, ipc_call_t *icall)
+static void comp_window_damage(window_t *win, ipc_call_t *icall)
 {
 	double x = IPC_GET_ARG1(*icall);
@@ -644,8 +644,8 @@
 	}
 
-	async_answer_0(icall_handle, EOK);
-}
-
-static void comp_window_grab(window_t *win, cap_call_handle_t icall_handle, ipc_call_t *icall)
+	async_answer_0(icall, EOK);
+}
+
+static void comp_window_grab(window_t *win, ipc_call_t *icall)
 {
 	sysarg_t pos_id = IPC_GET_ARG1(*icall);
@@ -674,5 +674,5 @@
 	}
 
-	async_answer_0(icall_handle, EOK);
+	async_answer_0(icall, EOK);
 }
 
@@ -706,20 +706,20 @@
 }
 
-static void comp_window_resize(window_t *win, cap_call_handle_t icall_handle, ipc_call_t *icall)
-{
-	cap_call_handle_t chandle;
+static void comp_window_resize(window_t *win, ipc_call_t *icall)
+{
+	ipc_call_t call;
 	size_t size;
 	unsigned int flags;
 
 	/* Start sharing resized window with client. */
-	if (!async_share_out_receive(&chandle, &size, &flags)) {
-		async_answer_0(icall_handle, EINVAL);
+	if (!async_share_out_receive(&call, &size, &flags)) {
+		async_answer_0(icall, EINVAL);
 		return;
 	}
 
 	void *new_cell_storage;
-	errno_t rc = async_share_out_finalize(chandle, &new_cell_storage);
+	errno_t rc = async_share_out_finalize(&call, &new_cell_storage);
 	if ((rc != EOK) || (new_cell_storage == AS_MAP_FAILED)) {
-		async_answer_0(icall_handle, ENOMEM);
+		async_answer_0(icall, ENOMEM);
 		return;
 	}
@@ -730,5 +730,5 @@
 	if (!new_surface) {
 		as_area_destroy(new_cell_storage);
-		async_answer_0(icall_handle, ENOMEM);
+		async_answer_0(icall, ENOMEM);
 		return;
 	}
@@ -817,5 +817,5 @@
 	comp_damage(x, y, width, height);
 
-	async_answer_0(icall_handle, EOK);
+	async_answer_0(icall, EOK);
 }
 
@@ -849,5 +849,5 @@
 }
 
-static void comp_window_close(window_t *win, cap_call_handle_t icall_handle, ipc_call_t *icall)
+static void comp_window_close(window_t *win, ipc_call_t *icall)
 {
 	/* Stop managing the window. */
@@ -891,12 +891,12 @@
 
 	comp_damage(x, y, width, height);
-	async_answer_0(icall_handle, EOK);
-}
-
-static void comp_window_close_request(window_t *win, cap_call_handle_t icall_handle, ipc_call_t *icall)
+	async_answer_0(icall, EOK);
+}
+
+static void comp_window_close_request(window_t *win, ipc_call_t *icall)
 {
 	window_event_t *event = (window_event_t *) malloc(sizeof(window_event_t));
 	if (event == NULL) {
-		async_answer_0(icall_handle, ENOMEM);
+		async_answer_0(icall, ENOMEM);
 		return;
 	}
@@ -906,18 +906,17 @@
 
 	prodcons_produce(&win->queue, &event->link);
-	async_answer_0(icall_handle, EOK);
-}
-
-static void client_connection(cap_call_handle_t icall_handle, ipc_call_t *icall, void *arg)
+	async_answer_0(icall, EOK);
+}
+
+static void client_connection(ipc_call_t *icall, void *arg)
 {
 	ipc_call_t call;
-	cap_call_handle_t chandle;
 	service_id_t service_id = (service_id_t) IPC_GET_ARG2(*icall);
 
 	/* Allocate resources for new window and register it to the location service. */
 	if (service_id == winreg_id) {
-		async_answer_0(icall_handle, EOK);
-
-		chandle = async_get_call(&call);
+		async_answer_0(icall, EOK);
+
+		async_get_call(&call);
 		if (IPC_GET_IMETHOD(call) == WINDOW_REGISTER) {
 			fibril_mutex_lock(&window_list_mtx);
@@ -925,5 +924,5 @@
 			window_t *win = window_create();
 			if (!win) {
-				async_answer_2(chandle, ENOMEM, 0, 0);
+				async_answer_2(&call, ENOMEM, 0, 0);
 				fibril_mutex_unlock(&window_list_mtx);
 				return;
@@ -944,5 +943,5 @@
 			if (loc_service_register(name_in, &win->in_dsid) != EOK) {
 				window_destroy(win);
-				async_answer_2(chandle, EINVAL, 0, 0);
+				async_answer_2(&call, EINVAL, 0, 0);
 				fibril_mutex_unlock(&window_list_mtx);
 				return;
@@ -952,5 +951,5 @@
 				loc_service_unregister(win->in_dsid);
 				window_destroy(win);
-				async_answer_2(chandle, EINVAL, 0, 0);
+				async_answer_2(&call, EINVAL, 0, 0);
 				fibril_mutex_unlock(&window_list_mtx);
 				return;
@@ -966,5 +965,5 @@
 			}
 
-			async_answer_2(chandle, EOK, win->in_dsid, win->out_dsid);
+			async_answer_2(&call, EOK, win->in_dsid, win->out_dsid);
 			fibril_mutex_unlock(&window_list_mtx);
 
@@ -975,5 +974,5 @@
 			return;
 		} else {
-			async_answer_0(chandle, EINVAL);
+			async_answer_0(&call, EINVAL);
 			return;
 		}
@@ -993,7 +992,7 @@
 	if (win) {
 		atomic_inc(&win->ref_cnt);
-		async_answer_0(icall_handle, EOK);
+		async_answer_0(icall, EOK);
 	} else {
-		async_answer_0(icall_handle, EINVAL);
+		async_answer_0(icall, EINVAL);
 		return;
 	}
@@ -1002,8 +1001,8 @@
 	if (win->in_dsid == service_id) {
 		while (true) {
-			chandle = async_get_call(&call);
+			async_get_call(&call);
 
 			if (!IPC_GET_IMETHOD(call)) {
-				async_answer_0(chandle, EOK);
+				async_answer_0(&call, EOK);
 				atomic_dec(&win->ref_cnt);
 				window_destroy(win);
@@ -1013,16 +1012,16 @@
 			switch (IPC_GET_IMETHOD(call)) {
 			case WINDOW_GET_EVENT:
-				comp_window_get_event(win, chandle, &call);
+				comp_window_get_event(win, &call);
 				break;
 			default:
-				async_answer_0(chandle, EINVAL);
+				async_answer_0(&call, EINVAL);
 			}
 		}
 	} else if (win->out_dsid == service_id) {
 		while (true) {
-			chandle = async_get_call(&call);
+			async_get_call(&call);
 
 			if (!IPC_GET_IMETHOD(call)) {
-				comp_window_close(win, chandle, &call);
+				comp_window_close(win, &call);
 				atomic_dec(&win->ref_cnt);
 				window_destroy(win);
@@ -1032,11 +1031,11 @@
 			switch (IPC_GET_IMETHOD(call)) {
 			case WINDOW_DAMAGE:
-				comp_window_damage(win, chandle, &call);
+				comp_window_damage(win, &call);
 				break;
 			case WINDOW_GRAB:
-				comp_window_grab(win, chandle, &call);
+				comp_window_grab(win, &call);
 				break;
 			case WINDOW_RESIZE:
-				comp_window_resize(win, chandle, &call);
+				comp_window_resize(win, &call);
 				break;
 			case WINDOW_CLOSE:
@@ -1045,17 +1044,17 @@
 				 * the case when the client is killed abruptly.
 				 */
-				async_answer_0(chandle, EOK);
+				async_answer_0(&call, EOK);
 				break;
 			case WINDOW_CLOSE_REQUEST:
-				comp_window_close_request(win, chandle, &call);
+				comp_window_close_request(win, &call);
 				break;
 			default:
-				async_answer_0(chandle, EINVAL);
-			}
-		}
-	}
-}
-
-static void comp_mode_change(viewport_t *vp, cap_call_handle_t icall_handle, ipc_call_t *icall)
+				async_answer_0(&call, EINVAL);
+			}
+		}
+	}
+}
+
+static void comp_mode_change(viewport_t *vp, ipc_call_t *icall)
 {
 	sysarg_t mode_idx = IPC_GET_ARG2(*icall);
@@ -1067,5 +1066,5 @@
 	if (rc != EOK) {
 		fibril_mutex_unlock(&viewport_list_mtx);
-		async_answer_0(icall_handle, EINVAL);
+		async_answer_0(icall, EINVAL);
 		return;
 	}
@@ -1076,5 +1075,5 @@
 	if (!new_surface) {
 		fibril_mutex_unlock(&viewport_list_mtx);
-		async_answer_0(icall_handle, ENOMEM);
+		async_answer_0(icall, ENOMEM);
 		return;
 	}
@@ -1086,5 +1085,5 @@
 		surface_destroy(new_surface);
 		fibril_mutex_unlock(&viewport_list_mtx);
-		async_answer_0(icall_handle, rc);
+		async_answer_0(icall, rc);
 		return;
 	}
@@ -1096,5 +1095,5 @@
 
 	fibril_mutex_unlock(&viewport_list_mtx);
-	async_answer_0(icall_handle, EOK);
+	async_answer_0(icall, EOK);
 
 	comp_restrict_pointers();
@@ -1130,5 +1129,5 @@
 	fibril_mutex_unlock(&window_list_mtx);
 
-	async_answer_0(icall_handle, EOK);
+	async_answer_0(icall, EOK);
 
 	/* All fibrils of the compositor will terminate soon. */
@@ -1136,5 +1135,5 @@
 #endif
 
-static void comp_visualizer_disconnect(viewport_t *vp, cap_call_handle_t icall_handle, ipc_call_t *icall)
+static void comp_visualizer_disconnect(viewport_t *vp, ipc_call_t *icall)
 {
 	/* Release viewport resources. */
@@ -1146,5 +1145,5 @@
 	fibril_mutex_unlock(&viewport_list_mtx);
 
-	async_answer_0(icall_handle, EOK);
+	async_answer_0(icall, EOK);
 
 	comp_restrict_pointers();
@@ -1152,5 +1151,5 @@
 }
 
-static void vsl_notifications(cap_call_handle_t icall_handle, ipc_call_t *icall, void *arg)
+static void vsl_notifications(ipc_call_t *icall, void *arg)
 {
 	viewport_t *vp = NULL;
@@ -1170,5 +1169,5 @@
 	while (true) {
 		ipc_call_t call;
-		cap_call_handle_t chandle = async_get_call(&call);
+		async_get_call(&call);
 
 		if (!IPC_GET_IMETHOD(call)) {
@@ -1179,11 +1178,11 @@
 		switch (IPC_GET_IMETHOD(call)) {
 		case VISUALIZER_MODE_CHANGE:
-			comp_mode_change(vp, chandle, &call);
+			comp_mode_change(vp, &call);
 			break;
 		case VISUALIZER_DISCONNECT:
-			comp_visualizer_disconnect(vp, chandle, &call);
+			comp_visualizer_disconnect(vp, &call);
 			return;
 		default:
-			async_answer_0(chandle, EINVAL);
+			async_answer_0(&call, EINVAL);
 		}
 	}
