[PATCH weston 1/3] text: Launch input method in text_backend_init

Derek Foreman derekf at osg.samsung.com
Wed Sep 23 08:25:22 PDT 2015


On 17/09/15 03:38 PM, Bryce Harrington wrote:
> On Thu, Jun 25, 2015 at 03:49:47PM -0500, Derek Foreman wrote:
>> Previously we tried to launch the input method every time a seat was
>> created, and the launch function would notice it was running and not
>> bother to actually launch.
> 
> If I understand this correctly, text_backend_init iterates through all
> the seats and calls text_backend_seat_created for each.  Currently, this
> causes launch_input-method() to be called on each of the seats, however
> while weston_client_launch gets called on the first seat launching,
> subsequent launch_input_method calls on the other seat don't reach the
> weston_client_launch call?

Yes, additionally any time a new seat is created, handle_seat_created()
also calls text_backend_seat_created()

> I see in launch_input_method() there are four conditionals which could
> cause it to fail to reach the weston_client_launch() call, but they all
> appear to be seat-specific things.  Which one is getting triggered here?

I think that's timing dependent.  if the virtual keyboard client has
finished launching it'll be the binding test at the top.  If it's in the
middle of launching it'll be the pid test at the bottom.

(I remove the binding test in the next patch though)

>> Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
>> ---
>>  src/text-backend.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/text-backend.c b/src/text-backend.c
>> index 9485f7e..397c51b 100644
>> --- a/src/text-backend.c
>> +++ b/src/text-backend.c
>> @@ -1002,8 +1002,6 @@ text_backend_seat_created(struct text_backend *text_backend,
>>  	wl_signal_add(&seat->destroy_signal, &input_method->destroy_listener);
>>  
>>  	seat->input_method = input_method;
>> -
>> -	launch_input_method(text_backend);
>>  }
>>  
>>  static void
>> @@ -1068,5 +1066,7 @@ text_backend_init(struct weston_compositor *ec)
>>  
>>  	text_input_manager_create(ec);
>>  
>> +	launch_input_method(text_backend);
>> +
>>  	return text_backend;
>>  }
>> -- 
>> 2.1.4
>>
>> _______________________________________________
>> wayland-devel mailing list
>> wayland-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
> 



More information about the wayland-devel mailing list