Merge branch 'mem' into 'master'
Fix visibility-related bugs See merge request Librem5/squeekboard!25
This commit is contained in:
		@ -569,7 +569,9 @@ 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));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    EEKBOARD_CONTEXT_SERVICE_GET_CLASS(context)->show_keyboard (context);
 | 
					    if (!context->priv->visible) {
 | 
				
			||||||
 | 
					        EEKBOARD_CONTEXT_SERVICE_GET_CLASS(context)->show_keyboard (context);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
@ -577,7 +579,9 @@ 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));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    EEKBOARD_CONTEXT_SERVICE_GET_CLASS(context)->hide_keyboard (context);
 | 
					    if (context->priv->visible) {
 | 
				
			||||||
 | 
					        EEKBOARD_CONTEXT_SERVICE_GET_CLASS(context)->hide_keyboard (context);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 | 
				
			|||||||
@ -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