Merge branch 'mem' into 'master'

Fix visibility-related bugs

See merge request Librem5/squeekboard!25
This commit is contained in:
David Boddie
2019-07-08 21:25:27 +00:00
2 changed files with 7 additions and 2 deletions

View File

@ -569,7 +569,9 @@ eekboard_context_service_show_keyboard (EekboardContextService *context)
{
g_return_if_fail (EEKBOARD_IS_CONTEXT_SERVICE(context));
EEKBOARD_CONTEXT_SERVICE_GET_CLASS(context)->show_keyboard (context);
if (!context->priv->visible) {
EEKBOARD_CONTEXT_SERVICE_GET_CLASS(context)->show_keyboard (context);
}
}
void
@ -577,7 +579,9 @@ eekboard_context_service_hide_keyboard (EekboardContextService *context)
{
g_return_if_fail (EEKBOARD_IS_CONTEXT_SERVICE(context));
EEKBOARD_CONTEXT_SERVICE_GET_CLASS(context)->hide_keyboard (context);
if (context->priv->visible) {
EEKBOARD_CONTEXT_SERVICE_GET_CLASS(context)->hide_keyboard (context);
}
}
/**

View File

@ -375,6 +375,7 @@ server_context_service_real_hide_keyboard (EekboardContextService *_context)
gtk_widget_hide (context->window);
gtk_container_remove(GTK_CONTAINER(context->window), context->widget);
context->widget = NULL; // When GTK removes the widget, it doesn't just unlink it, but also frees it
destroy_window (context);
EEKBOARD_CONTEXT_SERVICE_CLASS (server_context_service_parent_class)->