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:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user