backend-rdp: use compositor wide struct xkb_context

Instead of allocating our own copy of struct xkb_context use the
compositor wide instance. This avoids leaking of a struct
xkb_context per connection as well.

Signed-off-by: Stefan Agner <stefan@agner.ch>
This commit is contained in:
Stefan Agner
2019-06-20 22:45:49 +02:00
committed by Simon Ser
parent c220a40a81
commit 483cc63669
+2 -8
View File
@@ -963,7 +963,6 @@ xf_peer_activate(freerdp_peer* client)
rdpSettings *settings; rdpSettings *settings;
rdpPointerUpdate *pointer; rdpPointerUpdate *pointer;
struct rdp_peers_item *peersItem; struct rdp_peers_item *peersItem;
struct xkb_context *xkbContext;
struct xkb_rule_names xkbRuleNames; struct xkb_rule_names xkbRuleNames;
struct xkb_keymap *keymap; struct xkb_keymap *keymap;
struct weston_output *weston_output; struct weston_output *weston_output;
@@ -1047,13 +1046,8 @@ xf_peer_activate(freerdp_peer* client)
keymap = NULL; keymap = NULL;
if (xkbRuleNames.layout) { if (xkbRuleNames.layout) {
xkbContext = xkb_context_new(0); keymap = xkb_keymap_new_from_names(b->compositor->xkb_context,
if (!xkbContext) { &xkbRuleNames, 0);
weston_log("unable to create a xkb_context\n");
return FALSE;
}
keymap = xkb_keymap_new_from_names(xkbContext, &xkbRuleNames, 0);
} }
if (settings->ClientHostname) if (settings->ClientHostname)