summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2014-12-17 09:43:58 -0600
committerBryce Harrington <bryce@osg.samsung.com>2015-01-27 14:40:05 -0800
commit237a684e404703356632688191d718863a683126 (patch)
tree9d2ecdcd07dd71519c20338d4f87fb1c06edc6d0
parent3bebe6461a9de5d8c5c7da0261c70cd250fa1fde (diff)
downloadweston-237a684e404703356632688191d718863a683126.tar.gz
editor: Make editor multi-seat aware
With multi-seat, multiple entries can occur on the text inputs in the editor. Also, the panel shouldn't be hidden by the editor if either text entry is still active. Signed-off-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Jan Arne Petersen <janarne@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
-rw-r--r--clients/editor.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/clients/editor.c b/clients/editor.c
index db7be2a7..9299a050 100644
--- a/clients/editor.c
+++ b/clients/editor.c
@@ -473,7 +473,7 @@ text_input_enter(void *data,
if (surface != window_get_wl_surface(entry->window))
return;
- entry->active = 1;
+ entry->active++;
text_entry_update(entry);
entry->reset_serial = entry->serial;
@@ -488,10 +488,10 @@ text_input_leave(void *data,
struct text_entry *entry = data;
text_entry_commit_and_reset(entry);
+ entry->active--;
- entry->active = 0;
-
- wl_text_input_hide_input_panel(text_input);
+ if (!entry->active)
+ wl_text_input_hide_input_panel(text_input);
widget_schedule_redraw(entry->widget);
}