struct rdp_compositor *c;
struct rdp_output *output;
rdpSettings *settings;
+ rdpPointerUpdate *pointer;
struct xkb_context *xkbContext;
struct xkb_rule_names xkbRuleNames;
struct xkb_keymap *keymap;
int i;
+ pixman_box32_t box;
+ pixman_region32_t damage;
+
peerCtx = (RdpPeerContext *)client->context;
c = peerCtx->rdpCompositor;
weston_seat_init_pointer(&peerCtx->item.seat);
peerCtx->item.flags |= RDP_PEER_ACTIVATED;
+
+ /* disable pointer on the client side */
+ pointer = client->update->pointer;
+ pointer->pointer_system.type = SYSPTR_NULL;
+ pointer->PointerSystem(client->context, &pointer->pointer_system);
+
+ /* sends a full refresh */
+ box.x1 = 0;
+ box.y1 = 0;
+ box.x2 = output->base.width;
+ box.y2 = output->base.height;
+ pixman_region32_init_with_extents(&damage, &box);
+
+ rdp_peer_refresh_region(&damage, client);
+
+ pixman_region32_fini(&damage);
+
return TRUE;
}
xf_input_synchronize_event(rdpInput *input, UINT32 flags)
{
freerdp_peer *client = input->context->peer;
- rdpPointerUpdate *pointer = client->update->pointer;
RdpPeerContext *peerCtx = (RdpPeerContext *)input->context;
struct rdp_output *output = peerCtx->rdpCompositor->output;
pixman_box32_t box;
pixman_region32_t damage;
- /* disable pointer on the client side */
- pointer->pointer_system.type = SYSPTR_NULL;
- pointer->PointerSystem(client->context, &pointer->pointer_system);
-
/* sends a full refresh */
box.x1 = 0;
box.y1 = 0;