diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2014-12-17 09:43:58 -0600 |
---|---|---|
committer | Bryce Harrington <bryce@osg.samsung.com> | 2015-01-27 14:40:05 -0800 |
commit | 237a684e404703356632688191d718863a683126 (patch) | |
tree | 9d2ecdcd07dd71519c20338d4f87fb1c06edc6d0 | |
parent | 3bebe6461a9de5d8c5c7da0261c70cd250fa1fde (diff) | |
download | weston-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.c | 8 |
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); } |