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>
dev
Derek Foreman 10 years ago committed by Bryce Harrington
parent 3bebe6461a
commit 237a684e40
  1. 6
      clients/editor.c

@ -473,7 +473,7 @@ text_input_enter(void *data,
if (surface != window_get_wl_surface(entry->window)) if (surface != window_get_wl_surface(entry->window))
return; return;
entry->active = 1; entry->active++;
text_entry_update(entry); text_entry_update(entry);
entry->reset_serial = entry->serial; entry->reset_serial = entry->serial;
@ -488,9 +488,9 @@ text_input_leave(void *data,
struct text_entry *entry = data; struct text_entry *entry = data;
text_entry_commit_and_reset(entry); text_entry_commit_and_reset(entry);
entry->active--;
entry->active = 0; if (!entry->active)
wl_text_input_hide_input_panel(text_input); wl_text_input_hide_input_panel(text_input);
widget_schedule_redraw(entry->widget); widget_schedule_redraw(entry->widget);

Loading…
Cancel
Save