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>
This commit is contained in:
committed by
Bryce Harrington
parent
3bebe6461a
commit
237a684e40
+4
-4
@@ -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,10 +488,10 @@ 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);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user