layout_state: Don't always operate on the global instance
This commit is contained in:
@ -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)
|
||||
|
||||
@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user