From 0d15218ced5bf2e6f3d05758f0f5f21c2a0303f2 Mon Sep 17 00:00:00 2001 From: Eric Ruei Date: Thu, 9 Mar 2017 14:33:08 -0500 Subject: [PATCH 3/4] Weston: Fix virtual keyboard display issue for QT5 application The virtual keyboard does pop up as expected, however, it will never hide even when the application is terminated. This problem is due to the order of the text APIs( text_input_activate and test_input_show_input_panel) are invoked in QT5 and a potential bug of the API implementation. The virtual keyboard works as expected if the test_input_show_input_panel() is invoked prior to the test_input_activate() as most of the weston sample applications do. However, the problem will show up if that order is reversed and the reason why is that the current_panel is not set in this case and hence this panel cannot be hidden. It is required to set the current_panel to the text_input when the input_panel becomes visible at the first time. Signed-off-by: Eric Ruei --- compositor/text-backend.c | 1 + 1 file changed, 1 insertion(+) diff --git a/compositor/text-backend.c b/compositor/text-backend.c index ab4667f..36c70a5 100644 --- a/compositor/text-backend.c +++ b/compositor/text-backend.c @@ -337,6 +337,7 @@ text_input_show_input_panel(struct wl_client *client, text_input->surface); wl_signal_emit(&ec->update_input_panel_signal, &text_input->cursor_rectangle); + text_input->manager->current_panel = text_input; } } -- 1.9.1