text: Fix text-input for multi-seat
authorDerek Foreman <derekf@osg.samsung.com>
Fri, 8 May 2015 22:08:40 +0000 (17:08 -0500)
committerBryce Harrington <bryce@osg.samsung.com>
Fri, 8 May 2015 22:25:37 +0000 (15:25 -0700)
commit516d603515de3df40a04b722cf4851209e9d5588
treec3999a58c2d3954905708a5cc23e4d566cbb4a35
parent84787ea45f16b54d3e4f1c8e3998086cdc55c5fd
text: Fix text-input for multi-seat

Multi-seat configurations currently break the text-backend, crashing
weston.  This is an attempt to clean up any crashes and have somewhat
sensible input panel behavior with multi-seat.

Store a link to the manager that created a text_input, use this to
ensure that only a single panel gets popped up at a time, since there
is only one manager.

Replace deactivate_text_input with deactivate_input_method: multiple
input methods may focus the same text_input, so deactivating a text_input
is weird in multi-seat and confusing to perform.

In destroy_input_method_context set the context's input_method's context
pointer to NULL to prevent a dangling pointer.

Reviewed-by: Jan Arne Petersen <janarne@gmail.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
src/text-backend.c