layout_state: Don't always operate on the global instance

This commit is contained in:
Dorota Czaplejewicz
2020-03-07 15:40:17 +00:00
parent 6d7360a230
commit 9ce2cf254b
2 changed files with 4 additions and 2 deletions

View File

@ -124,9 +124,10 @@ eek_gtk_keyboard_real_size_allocate (GtkWidget *self,
(uint32_t)(allocation->width - allocation->x) * scale,
(uint32_t)(allocation->height - allocation->y) * scale);
if (priv->layout->arrangement != new_type) {
priv->layout->arrangement = new_type;
struct squeek_layout_state layout = *priv->layout;
layout.arrangement = new_type;
eek_layout_holder_use_layout(priv->eekboard_context, priv->layout);
eek_layout_holder_use_layout(priv->eekboard_context, &layout);
}
if (priv->renderer)

View File

@ -99,6 +99,7 @@ settings_get_layout(GSettings *settings, char **type, char **layout)
void
eek_layout_holder_use_layout(LayoutHolder *context, struct squeek_layout_state *state) {
*context->layout = *state;
gchar *layout_name = state->overlay_name;
if (layout_name == NULL) {