diff --git a/eek/eek-gtk-keyboard.c b/eek/eek-gtk-keyboard.c index 9b839b10..3a477668 100644 --- a/eek/eek-gtk-keyboard.c +++ b/eek/eek-gtk-keyboard.c @@ -360,6 +360,10 @@ eek_gtk_keyboard_init (EekGtkKeyboard *self) priv->event = lfb_event_new ("button-pressed"); else g_warning ("Failed to init libfeedback: %s", err->message); + + GtkIconTheme *theme = gtk_icon_theme_get_default (); + + gtk_icon_theme_add_resource_path (theme, "/sm/puri/squeekboard/icons"); } static void diff --git a/eek/eek-keyboard.c b/eek/eek-keyboard.c index 7d000480..16a6198c 100644 --- a/eek/eek-keyboard.c +++ b/eek/eek-keyboard.c @@ -64,8 +64,8 @@ level_keyboard_new (struct squeek_layout *layout) xkb_context_unref(context); keyboard->keymap = keymap; - keymap_str = xkb_keymap_get_as_string(keymap, XKB_KEYMAP_FORMAT_TEXT_V1); - keyboard->keymap_len = strlen(keymap_str) + 1; + char * xkb_keymap_str = xkb_keymap_get_as_string(keymap, XKB_KEYMAP_FORMAT_TEXT_V1); + keyboard->keymap_len = strlen(xkb_keymap_str) + 1; g_autofree char *path = strdup("/eek_keymap-XXXXXX"); char *r = &path[strlen(path) - 6]; @@ -89,7 +89,8 @@ level_keyboard_new (struct squeek_layout *layout) if ((void*)ptr == (void*)-1) { g_error("Failed to set up mmap"); } - strncpy(ptr, keymap_str, keyboard->keymap_len); + strncpy(ptr, xkb_keymap_str, keyboard->keymap_len); + free(xkb_keymap_str); munmap(ptr, keyboard->keymap_len); return keyboard; } diff --git a/eek/eek-renderer.c b/eek/eek-renderer.c index 8e62c560..143c553e 100644 --- a/eek/eek-renderer.c +++ b/eek/eek-renderer.c @@ -265,10 +265,6 @@ renderer_init (EekRenderer *self) self->allocation_height = 0.0; self->scale_factor = 1; - GtkIconTheme *theme = gtk_icon_theme_get_default (); - - gtk_icon_theme_add_resource_path (theme, "/sm/puri/squeekboard/icons"); - self->css_provider = squeek_load_style(); }