summaryrefslogtreecommitdiffstats
path: root/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0003-Weston-Fix-virtual-keyboard-display-issue-for-QT5-ap.patch
blob: 806f4900e636b1777be03644603b85cc396513ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
From 0d15218ced5bf2e6f3d05758f0f5f21c2a0303f2 Mon Sep 17 00:00:00 2001
From: Eric Ruei <e-ruei1@ti.com>
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 <e-ruei1@ti.com>
---
 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