Merge branch 'mem' into 'master'
Fix visibility-related bugs See merge request Librem5/squeekboard!25
This commit is contained in:
@ -569,16 +569,20 @@ eekboard_context_service_show_keyboard (EekboardContextService *context)
|
|||||||
{
|
{
|
||||||
g_return_if_fail (EEKBOARD_IS_CONTEXT_SERVICE(context));
|
g_return_if_fail (EEKBOARD_IS_CONTEXT_SERVICE(context));
|
||||||
|
|
||||||
|
if (!context->priv->visible) {
|
||||||
EEKBOARD_CONTEXT_SERVICE_GET_CLASS(context)->show_keyboard (context);
|
EEKBOARD_CONTEXT_SERVICE_GET_CLASS(context)->show_keyboard (context);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
eekboard_context_service_hide_keyboard (EekboardContextService *context)
|
eekboard_context_service_hide_keyboard (EekboardContextService *context)
|
||||||
{
|
{
|
||||||
g_return_if_fail (EEKBOARD_IS_CONTEXT_SERVICE(context));
|
g_return_if_fail (EEKBOARD_IS_CONTEXT_SERVICE(context));
|
||||||
|
|
||||||
|
if (context->priv->visible) {
|
||||||
EEKBOARD_CONTEXT_SERVICE_GET_CLASS(context)->hide_keyboard (context);
|
EEKBOARD_CONTEXT_SERVICE_GET_CLASS(context)->hide_keyboard (context);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* eekboard_context_service_destroy:
|
* eekboard_context_service_destroy:
|
||||||
|
|||||||
@ -375,6 +375,7 @@ server_context_service_real_hide_keyboard (EekboardContextService *_context)
|
|||||||
|
|
||||||
gtk_widget_hide (context->window);
|
gtk_widget_hide (context->window);
|
||||||
gtk_container_remove(GTK_CONTAINER(context->window), context->widget);
|
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);
|
destroy_window (context);
|
||||||
|
|
||||||
EEKBOARD_CONTEXT_SERVICE_CLASS (server_context_service_parent_class)->
|
EEKBOARD_CONTEXT_SERVICE_CLASS (server_context_service_parent_class)->
|
||||||
|
|||||||
Reference in New Issue
Block a user