Merge branch 'leak-fixes' into 'master'

Fix 2 leaks

Closes #148

See merge request Librem5/squeekboard!386
This commit is contained in:
Dorota Czaplejewicz
2020-10-03 07:38:52 +00:00
3 changed files with 8 additions and 7 deletions

View File

@ -360,6 +360,10 @@ eek_gtk_keyboard_init (EekGtkKeyboard *self)
priv->event = lfb_event_new ("button-pressed"); priv->event = lfb_event_new ("button-pressed");
else else
g_warning ("Failed to init libfeedback: %s", err->message); 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 static void

View File

@ -64,8 +64,8 @@ level_keyboard_new (struct squeek_layout *layout)
xkb_context_unref(context); xkb_context_unref(context);
keyboard->keymap = keymap; keyboard->keymap = keymap;
keymap_str = xkb_keymap_get_as_string(keymap, XKB_KEYMAP_FORMAT_TEXT_V1); char * xkb_keymap_str = xkb_keymap_get_as_string(keymap, XKB_KEYMAP_FORMAT_TEXT_V1);
keyboard->keymap_len = strlen(keymap_str) + 1; keyboard->keymap_len = strlen(xkb_keymap_str) + 1;
g_autofree char *path = strdup("/eek_keymap-XXXXXX"); g_autofree char *path = strdup("/eek_keymap-XXXXXX");
char *r = &path[strlen(path) - 6]; char *r = &path[strlen(path) - 6];
@ -89,7 +89,8 @@ level_keyboard_new (struct squeek_layout *layout)
if ((void*)ptr == (void*)-1) { if ((void*)ptr == (void*)-1) {
g_error("Failed to set up mmap"); 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); munmap(ptr, keyboard->keymap_len);
return keyboard; return keyboard;
} }

View File

@ -265,10 +265,6 @@ renderer_init (EekRenderer *self)
self->allocation_height = 0.0; self->allocation_height = 0.0;
self->scale_factor = 1; 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(); self->css_provider = squeek_load_style();
} }