summaryrefslogtreecommitdiff
blob: f77234ba3b20cdd9f671430449ffc24ae66fa818 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
From 9abc0712836c9e56ed08796645874cc0d10b1826 Mon Sep 17 00:00:00 2001
From: Rui Matos <tiagomatos@gmail.com>
Date: Mon, 21 Sep 2015 17:25:40 +0200
Subject: backend-x11: Fallback to a default keymap if getting it from X fails

This shouldn't fail but apparently sometimes it does and in that case
having a possibly wrong idea of the keymap is still better than
crashing.

https://bugzilla.gnome.org/show_bug.cgi?id=754979

diff --git a/src/backends/x11/meta-backend-x11.c b/src/backends/x11/meta-backend-x11.c
index 7ad28fd..dbcd13f 100644
--- a/src/backends/x11/meta-backend-x11.c
+++ b/src/backends/x11/meta-backend-x11.c
@@ -760,6 +760,9 @@ meta_backend_x11_get_keymap (MetaBackend *backend)
                                                      priv->xcb,
                                                      xkb_x11_get_core_keyboard_device_id (priv->xcb),
                                                      XKB_KEYMAP_COMPILE_NO_FLAGS);
+      if (priv->keymap == NULL)
+        priv->keymap = xkb_keymap_new_from_names (context, NULL, XKB_KEYMAP_COMPILE_NO_FLAGS);
+
       xkb_context_unref (context);
     }
 
-- 
cgit v0.10.2