Release pointer and keyboard with the seat
authorHardening <rdp.effort@gmail.com>
Sat, 21 Dec 2013 22:19:11 +0000 (23:19 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Sun, 22 Dec 2013 21:49:30 +0000 (13:49 -0800)
This patch fixes seat releasing during a RDP disconnection.
It does not fully fix https://bugs.freedesktop.org/show_bug.cgi?id=66830,
but makes things better.

src/compositor-rdp.c

index 942af50..b9c36cf 100644 (file)
@@ -596,8 +596,11 @@ rdp_peer_context_free(freerdp_peer* client, RdpPeerContext* context)
                        wl_event_source_remove(context->events[i]);
        }
 
-       if(context->item.flags & RDP_PEER_ACTIVATED)
+       if(context->item.flags & RDP_PEER_ACTIVATED) {
+               weston_seat_release_keyboard(&context->item.seat);
+               weston_seat_release_pointer(&context->item.seat);
                weston_seat_release(&context->item.seat);
+       }
        Stream_Free(context->encode_stream, TRUE);
        nsc_context_free(context->nsc_context);
        rfx_context_free(context->rfx_context);