summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2018-01-11 21:44:49 -0500
committerMatthias Clasen <mclasen@redhat.com>2018-01-12 09:23:59 -0500
commitd72508590b9b4bde91c0e1445ac61be62c3af2ff (patch)
tree6d7e05e35c2967ac8c056a1cb666b4368335c568 /gdk
parent87e9f0895b72540172884ff152b0957a39f4ee6d (diff)
downloadgtk+-d72508590b9b4bde91c0e1445ac61be62c3af2ff.tar.gz
wayland: Set display on keymaps
This was forgotten so far: The display of keymaps was NULL.
Diffstat (limited to 'gdk')
-rw-r--r--gdk/wayland/gdkdevice-wayland.c2
-rw-r--r--gdk/wayland/gdkdisplay-wayland.c2
-rw-r--r--gdk/wayland/gdkkeys-wayland.c3
-rw-r--r--gdk/wayland/gdkprivate-wayland.h2
4 files changed, 5 insertions, 4 deletions
diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c
index c170325c46..b6a950d658 100644
--- a/gdk/wayland/gdkdevice-wayland.c
+++ b/gdk/wayland/gdkdevice-wayland.c
@@ -4764,7 +4764,7 @@ _gdk_wayland_display_create_seat (GdkWaylandDisplay *display_wayland,
"display", display_wayland,
NULL);
seat->id = id;
- seat->keymap = _gdk_wayland_keymap_new ();
+ seat->keymap = _gdk_wayland_keymap_new (display);
seat->display = display;
seat->touches = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify) g_free);
seat->foreign_dnd_window = create_foreign_dnd_window (display);
diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
index f02d9c6922..85cecc03c2 100644
--- a/gdk/wayland/gdkdisplay-wayland.c
+++ b/gdk/wayland/gdkdisplay-wayland.c
@@ -896,7 +896,7 @@ _gdk_wayland_display_get_keymap (GdkDisplay *display)
return _gdk_wayland_device_get_keymap (core_keyboard);
if (!tmp_keymap)
- tmp_keymap = _gdk_wayland_keymap_new ();
+ tmp_keymap = _gdk_wayland_keymap_new (display);
return tmp_keymap;
}
diff --git a/gdk/wayland/gdkkeys-wayland.c b/gdk/wayland/gdkkeys-wayland.c
index c8a4d7e0ae..fd95b27374 100644
--- a/gdk/wayland/gdkkeys-wayland.c
+++ b/gdk/wayland/gdkkeys-wayland.c
@@ -540,13 +540,14 @@ update_direction (GdkWaylandKeymap *keymap)
}
GdkKeymap *
-_gdk_wayland_keymap_new (void)
+_gdk_wayland_keymap_new (GdkDisplay *display)
{
GdkWaylandKeymap *keymap;
struct xkb_context *context;
struct xkb_rule_names names;
keymap = g_object_new (_gdk_wayland_keymap_get_type(), NULL);
+ GDK_KEYMAP (keymap)->display = display;
context = xkb_context_new (0);
diff --git a/gdk/wayland/gdkprivate-wayland.h b/gdk/wayland/gdkprivate-wayland.h
index 39d6cfe1b3..6d3fe4c778 100644
--- a/gdk/wayland/gdkprivate-wayland.h
+++ b/gdk/wayland/gdkprivate-wayland.h
@@ -45,7 +45,7 @@
#define GDK_WINDOW_IS_WAYLAND(win) (GDK_IS_WINDOW_IMPL_WAYLAND (((GdkWindow *)win)->impl))
-GdkKeymap *_gdk_wayland_keymap_new (void);
+GdkKeymap *_gdk_wayland_keymap_new (GdkDisplay *display);
void _gdk_wayland_keymap_update_from_fd (GdkKeymap *keymap,
uint32_t format,
uint32_t fd,