Re: [PATCH weston 1/2] text-backend: Allow client hiding of input panel
On Fri, 2017-08-04 at 22:04 +0200, jana...@gmail.com wrote: > On Sat, 2017-06-24 at 16:03 -0500, Joshua Watt wrote: > > Previously, the hide_input_panel and show_input_panel messages for > > the text > > input protocol were limited to specific cases, such as showing the > > panel on > > activation, or making the panel visible after activation. Now, > > clients are > > allowed to toggle the panel visiblity at will as long as they are > > the > > currently > > active client > > > > Signed-off-by: Joshua Watt> > Thanks, both patches are improving the implementation in the right > way: > > Reviewed-by: Jan Arne Petersen I think this has set long enough for comments, could I get it Acked and committed please? > > > --- > > compositor/text-backend.c | 22 -- > > 1 file changed, 12 insertions(+), 10 deletions(-) > > > > diff --git a/compositor/text-backend.c b/compositor/text-backend.c > > index bf5c45c..6add101 100644 > > --- a/compositor/text-backend.c > > +++ b/compositor/text-backend.c > > @@ -64,7 +64,7 @@ struct text_input_manager { > > struct wl_global *text_input_manager_global; > > struct wl_listener destroy_listener; > > > > - struct text_input *current_panel; > > + struct text_input *current_text_input; > > > > struct weston_compositor *ec; > > }; > > @@ -140,11 +140,15 @@ deactivate_input_method(struct input_method > > *input_method) > > input_method->context = NULL; > > > > if (wl_list_empty(_input->input_methods) && > > - text_input->input_panel_visible) { > > + text_input->input_panel_visible && > > + text_input->manager->current_text_input == text_input) > > { > > wl_signal_emit(>hide_input_panel_signal, ec); > > text_input->input_panel_visible = false; > > - text_input->manager->current_panel = NULL; > > } > > + > > + if (text_input->manager->current_text_input == text_input) > > + text_input->manager->current_text_input = NULL; > > + > > zwp_text_input_v1_send_leave(text_input->resource); > > } > > > > @@ -206,12 +210,11 @@ text_input_activate(struct wl_client *client, > > > > input_method_context_create(text_input, input_method); > > > > - current = text_input->manager->current_panel; > > + current = text_input->manager->current_text_input; > > > > if (current && current != text_input) { > > current->input_panel_visible = false; > > wl_signal_emit(>hide_input_panel_signal, ec); > > - text_input->manager->current_panel = NULL; > > } > > > > if (text_input->input_panel_visible) { > > @@ -219,8 +222,8 @@ text_input_activate(struct wl_client *client, > >text_input->surface); > > wl_signal_emit(>update_input_panel_signal, > >_input->cursor_rectangle); > > - text_input->manager->current_panel = text_input; > > } > > + text_input->manager->current_text_input = text_input; > > > > zwp_text_input_v1_send_enter(text_input->resource, > > text_input->surface- > > >resource); > > @@ -335,7 +338,8 @@ text_input_show_input_panel(struct wl_client > > *client, > > > > text_input->input_panel_visible = true; > > > > - if (!wl_list_empty(_input->input_methods)) { > > + if (!wl_list_empty(_input->input_methods) && > > + text_input == text_input->manager->current_text_input) > > { > > wl_signal_emit(>show_input_panel_signal, > >text_input->surface); > > wl_signal_emit(>update_input_panel_signal, > > @@ -353,10 +357,8 @@ text_input_hide_input_panel(struct wl_client > > *client, > > text_input->input_panel_visible = false; > > > > if (!wl_list_empty(_input->input_methods) && > > - text_input == text_input->manager->current_panel) { > > - text_input->manager->current_panel = NULL; > > + text_input == text_input->manager->current_text_input) > > wl_signal_emit(>hide_input_panel_signal, ec); > > - } > > } > > > > static void ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH weston 1/2] text-backend: Allow client hiding of input panel
On Fri, 2017-08-04 at 22:04 +0200, jana...@gmail.com wrote: > On Sat, 2017-06-24 at 16:03 -0500, Joshua Watt wrote: > > Previously, the hide_input_panel and show_input_panel messages for > > the text > > input protocol were limited to specific cases, such as showing the > > panel on > > activation, or making the panel visible after activation. Now, > > clients are > > allowed to toggle the panel visiblity at will as long as they are > > the > > currently > > active client > > > > Signed-off-by: Joshua Watt> > Thanks, both patches are improving the implementation in the right > way: > > Reviewed-by: Jan Arne Petersen > > > --- > > compositor/text-backend.c | 22 -- > > 1 file changed, 12 insertions(+), 10 deletions(-) > > > > diff --git a/compositor/text-backend.c b/compositor/text-backend.c > > index bf5c45c..6add101 100644 > > --- a/compositor/text-backend.c > > +++ b/compositor/text-backend.c > > @@ -64,7 +64,7 @@ struct text_input_manager { > > struct wl_global *text_input_manager_global; > > struct wl_listener destroy_listener; > > > > - struct text_input *current_panel; > > + struct text_input *current_text_input; > > > > struct weston_compositor *ec; > > }; > > @@ -140,11 +140,15 @@ deactivate_input_method(struct input_method > > *input_method) > > input_method->context = NULL; > > > > if (wl_list_empty(_input->input_methods) && > > - text_input->input_panel_visible) { > > + text_input->input_panel_visible && > > + text_input->manager->current_text_input == text_input) > > { > > wl_signal_emit(>hide_input_panel_signal, ec); > > text_input->input_panel_visible = false; > > - text_input->manager->current_panel = NULL; > > } > > + > > + if (text_input->manager->current_text_input == text_input) > > + text_input->manager->current_text_input = NULL; > > + > > zwp_text_input_v1_send_leave(text_input->resource); > > } > > > > @@ -206,12 +210,11 @@ text_input_activate(struct wl_client *client, > > > > input_method_context_create(text_input, input_method); > > > > - current = text_input->manager->current_panel; > > + current = text_input->manager->current_text_input; > > > > if (current && current != text_input) { > > current->input_panel_visible = false; > > wl_signal_emit(>hide_input_panel_signal, ec); > > - text_input->manager->current_panel = NULL; > > } > > > > if (text_input->input_panel_visible) { > > @@ -219,8 +222,8 @@ text_input_activate(struct wl_client *client, > >text_input->surface); > > wl_signal_emit(>update_input_panel_signal, > >_input->cursor_rectangle); > > - text_input->manager->current_panel = text_input; > > } > > + text_input->manager->current_text_input = text_input; > > > > zwp_text_input_v1_send_enter(text_input->resource, > > text_input->surface- > > >resource); > > @@ -335,7 +338,8 @@ text_input_show_input_panel(struct wl_client > > *client, > > > > text_input->input_panel_visible = true; > > > > - if (!wl_list_empty(_input->input_methods)) { > > + if (!wl_list_empty(_input->input_methods) && > > + text_input == text_input->manager->current_text_input) > > { > > wl_signal_emit(>show_input_panel_signal, > >text_input->surface); > > wl_signal_emit(>update_input_panel_signal, > > @@ -353,10 +357,8 @@ text_input_hide_input_panel(struct wl_client > > *client, > > text_input->input_panel_visible = false; > > > > if (!wl_list_empty(_input->input_methods) && > > - text_input == text_input->manager->current_panel) { > > - text_input->manager->current_panel = NULL; > > + text_input == text_input->manager->current_text_input) > > wl_signal_emit(>hide_input_panel_signal, ec); > > - } > > } > > > > static void ping? ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH weston 1/2] text-backend: Allow client hiding of input panel
On Fri, 2017-08-04 at 22:04 +0200, jana...@gmail.com wrote: > On Sat, 2017-06-24 at 16:03 -0500, Joshua Watt wrote: > > Previously, the hide_input_panel and show_input_panel messages for > > the text > > input protocol were limited to specific cases, such as showing the > > panel on > > activation, or making the panel visible after activation. Now, > > clients are > > allowed to toggle the panel visiblity at will as long as they are > > the > > currently > > active client > > > > Signed-off-by: Joshua Watt> > Thanks, both patches are improving the implementation in the right > way: Any further update on this? > > Reviewed-by: Jan Arne Petersen > > > --- > > compositor/text-backend.c | 22 -- > > 1 file changed, 12 insertions(+), 10 deletions(-) > > > > diff --git a/compositor/text-backend.c b/compositor/text-backend.c > > index bf5c45c..6add101 100644 > > --- a/compositor/text-backend.c > > +++ b/compositor/text-backend.c > > @@ -64,7 +64,7 @@ struct text_input_manager { > > struct wl_global *text_input_manager_global; > > struct wl_listener destroy_listener; > > > > - struct text_input *current_panel; > > + struct text_input *current_text_input; > > > > struct weston_compositor *ec; > > }; > > @@ -140,11 +140,15 @@ deactivate_input_method(struct input_method > > *input_method) > > input_method->context = NULL; > > > > if (wl_list_empty(_input->input_methods) && > > - text_input->input_panel_visible) { > > + text_input->input_panel_visible && > > + text_input->manager->current_text_input == text_input) > > { > > wl_signal_emit(>hide_input_panel_signal, ec); > > text_input->input_panel_visible = false; > > - text_input->manager->current_panel = NULL; > > } > > + > > + if (text_input->manager->current_text_input == text_input) > > + text_input->manager->current_text_input = NULL; > > + > > zwp_text_input_v1_send_leave(text_input->resource); > > } > > > > @@ -206,12 +210,11 @@ text_input_activate(struct wl_client *client, > > > > input_method_context_create(text_input, input_method); > > > > - current = text_input->manager->current_panel; > > + current = text_input->manager->current_text_input; > > > > if (current && current != text_input) { > > current->input_panel_visible = false; > > wl_signal_emit(>hide_input_panel_signal, ec); > > - text_input->manager->current_panel = NULL; > > } > > > > if (text_input->input_panel_visible) { > > @@ -219,8 +222,8 @@ text_input_activate(struct wl_client *client, > >text_input->surface); > > wl_signal_emit(>update_input_panel_signal, > >_input->cursor_rectangle); > > - text_input->manager->current_panel = text_input; > > } > > + text_input->manager->current_text_input = text_input; > > > > zwp_text_input_v1_send_enter(text_input->resource, > > text_input->surface- > > >resource); > > @@ -335,7 +338,8 @@ text_input_show_input_panel(struct wl_client > > *client, > > > > text_input->input_panel_visible = true; > > > > - if (!wl_list_empty(_input->input_methods)) { > > + if (!wl_list_empty(_input->input_methods) && > > + text_input == text_input->manager->current_text_input) > > { > > wl_signal_emit(>show_input_panel_signal, > >text_input->surface); > > wl_signal_emit(>update_input_panel_signal, > > @@ -353,10 +357,8 @@ text_input_hide_input_panel(struct wl_client > > *client, > > text_input->input_panel_visible = false; > > > > if (!wl_list_empty(_input->input_methods) && > > - text_input == text_input->manager->current_panel) { > > - text_input->manager->current_panel = NULL; > > + text_input == text_input->manager->current_text_input) > > wl_signal_emit(>hide_input_panel_signal, ec); > > - } > > } > > > > static void ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH weston 1/2] text-backend: Allow client hiding of input panel
On Sat, 2017-06-24 at 16:03 -0500, Joshua Watt wrote: > Previously, the hide_input_panel and show_input_panel messages for > the text > input protocol were limited to specific cases, such as showing the > panel on > activation, or making the panel visible after activation. Now, > clients are > allowed to toggle the panel visiblity at will as long as they are the > currently > active client > > Signed-off-by: Joshua WattThanks, both patches are improving the implementation in the right way: Reviewed-by: Jan Arne Petersen > --- > compositor/text-backend.c | 22 -- > 1 file changed, 12 insertions(+), 10 deletions(-) > > diff --git a/compositor/text-backend.c b/compositor/text-backend.c > index bf5c45c..6add101 100644 > --- a/compositor/text-backend.c > +++ b/compositor/text-backend.c > @@ -64,7 +64,7 @@ struct text_input_manager { > struct wl_global *text_input_manager_global; > struct wl_listener destroy_listener; > > - struct text_input *current_panel; > + struct text_input *current_text_input; > > struct weston_compositor *ec; > }; > @@ -140,11 +140,15 @@ deactivate_input_method(struct input_method > *input_method) > input_method->context = NULL; > > if (wl_list_empty(_input->input_methods) && > - text_input->input_panel_visible) { > + text_input->input_panel_visible && > + text_input->manager->current_text_input == text_input) { > wl_signal_emit(>hide_input_panel_signal, ec); > text_input->input_panel_visible = false; > - text_input->manager->current_panel = NULL; > } > + > + if (text_input->manager->current_text_input == text_input) > + text_input->manager->current_text_input = NULL; > + > zwp_text_input_v1_send_leave(text_input->resource); > } > > @@ -206,12 +210,11 @@ text_input_activate(struct wl_client *client, > > input_method_context_create(text_input, input_method); > > - current = text_input->manager->current_panel; > + current = text_input->manager->current_text_input; > > if (current && current != text_input) { > current->input_panel_visible = false; > wl_signal_emit(>hide_input_panel_signal, ec); > - text_input->manager->current_panel = NULL; > } > > if (text_input->input_panel_visible) { > @@ -219,8 +222,8 @@ text_input_activate(struct wl_client *client, > text_input->surface); > wl_signal_emit(>update_input_panel_signal, > _input->cursor_rectangle); > - text_input->manager->current_panel = text_input; > } > + text_input->manager->current_text_input = text_input; > > zwp_text_input_v1_send_enter(text_input->resource, >text_input->surface->resource); > @@ -335,7 +338,8 @@ text_input_show_input_panel(struct wl_client > *client, > > text_input->input_panel_visible = true; > > - if (!wl_list_empty(_input->input_methods)) { > + if (!wl_list_empty(_input->input_methods) && > + text_input == text_input->manager->current_text_input) { > wl_signal_emit(>show_input_panel_signal, > text_input->surface); > wl_signal_emit(>update_input_panel_signal, > @@ -353,10 +357,8 @@ text_input_hide_input_panel(struct wl_client > *client, > text_input->input_panel_visible = false; > > if (!wl_list_empty(_input->input_methods) && > - text_input == text_input->manager->current_panel) { > - text_input->manager->current_panel = NULL; > + text_input == text_input->manager->current_text_input) > wl_signal_emit(>hide_input_panel_signal, ec); > - } > } > > static void ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH weston 1/2] text-backend: Allow client hiding of input panel
On Wed, 2017-07-19 at 17:48 +0200, Silvan Jegen wrote: > On Wed, Jul 19, 2017 at 3:49 PM, Joshua Watt> wrote: > > On Sun, 2017-07-09 at 21:26 +0200, Silvan Jegen wrote: > > > Hi Joshua > > > > > > On Wed, Jul 05, 2017 at 08:58:51AM -0500, Joshua Watt wrote: > > > > On Sat, 2017-06-24 at 16:03 -0500, Joshua Watt wrote: > > > > > Previously, the hide_input_panel and show_input_panel > > > > > messages > > > > > for > > > > > the text > > > > > input protocol were limited to specific cases, such as > > > > > showing > > > > > the > > > > > panel on > > > > > activation, or making the panel visible after activation. > > > > > Now, > > > > > clients are > > > > > allowed to toggle the panel visiblity at will as long as they > > > > > are > > > > > the > > > > > currently > > > > > active client > > > > > > > > > > Signed-off-by: Joshua Watt > > > > > --- > > > > > compositor/text-backend.c | 22 -- > > > > > 1 file changed, 12 insertions(+), 10 deletions(-) > > > > > > > > > > > > > Ping? > > > > > > I have tested your two patches locally and can confirm that they > > > compile > > > and run. > > > > > > Letting the user toggle the visibility of the input panel with a > > > click > > > (in the --click-to-show case) seems like a good change to me. I > > > doubt > > > that there are any strong opinions on this though... > > > > Any further updates on this? > > We will have to wait for somebody with commit rights to chime in :) > > I would be really interested in the next version of the > text*protocols > as well but development of them seems to have stalled for now, > unfortunately. There was a new version forthcoming that is pending > some changes. They have been pending for more than a year now though. Any other comments? > > > Cheers, > > Silvan ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH weston 1/2] text-backend: Allow client hiding of input panel
On Sun, 2017-07-09 at 21:26 +0200, Silvan Jegen wrote: > Hi Joshua > > On Wed, Jul 05, 2017 at 08:58:51AM -0500, Joshua Watt wrote: > > On Sat, 2017-06-24 at 16:03 -0500, Joshua Watt wrote: > > > Previously, the hide_input_panel and show_input_panel messages > > > for > > > the text > > > input protocol were limited to specific cases, such as showing > > > the > > > panel on > > > activation, or making the panel visible after activation. Now, > > > clients are > > > allowed to toggle the panel visiblity at will as long as they are > > > the > > > currently > > > active client > > > > > > Signed-off-by: Joshua Watt> > > --- > > > compositor/text-backend.c | 22 -- > > > 1 file changed, 12 insertions(+), 10 deletions(-) > > > > > > > Ping? > > I have tested your two patches locally and can confirm that they > compile > and run. > > Letting the user toggle the visibility of the input panel with a > click > (in the --click-to-show case) seems like a good change to me. I doubt > that there are any strong opinions on this though... Any further updates on this? > > > Cheers, > > Silvan > > ___ > wayland-devel mailing list > wayland-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/wayland-devel ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH weston 1/2] text-backend: Allow client hiding of input panel
Hi Joshua On Wed, Jul 05, 2017 at 08:58:51AM -0500, Joshua Watt wrote: > On Sat, 2017-06-24 at 16:03 -0500, Joshua Watt wrote: > > Previously, the hide_input_panel and show_input_panel messages for > > the text > > input protocol were limited to specific cases, such as showing the > > panel on > > activation, or making the panel visible after activation. Now, > > clients are > > allowed to toggle the panel visiblity at will as long as they are the > > currently > > active client > > > > Signed-off-by: Joshua Watt> > --- > > compositor/text-backend.c | 22 -- > > 1 file changed, 12 insertions(+), 10 deletions(-) > > > Ping? I have tested your two patches locally and can confirm that they compile and run. Letting the user toggle the visibility of the input panel with a click (in the --click-to-show case) seems like a good change to me. I doubt that there are any strong opinions on this though... Cheers, Silvan ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: [PATCH weston 1/2] text-backend: Allow client hiding of input panel
On Sat, 2017-06-24 at 16:03 -0500, Joshua Watt wrote: > Previously, the hide_input_panel and show_input_panel messages for > the text > input protocol were limited to specific cases, such as showing the > panel on > activation, or making the panel visible after activation. Now, > clients are > allowed to toggle the panel visiblity at will as long as they are the > currently > active client > > Signed-off-by: Joshua Watt> --- > compositor/text-backend.c | 22 -- > 1 file changed, 12 insertions(+), 10 deletions(-) > > diff --git a/compositor/text-backend.c b/compositor/text-backend.c > index bf5c45c..6add101 100644 > --- a/compositor/text-backend.c > +++ b/compositor/text-backend.c > @@ -64,7 +64,7 @@ struct text_input_manager { > struct wl_global *text_input_manager_global; > struct wl_listener destroy_listener; > > - struct text_input *current_panel; > + struct text_input *current_text_input; > > struct weston_compositor *ec; > }; > @@ -140,11 +140,15 @@ deactivate_input_method(struct input_method > *input_method) > input_method->context = NULL; > > if (wl_list_empty(_input->input_methods) && > - text_input->input_panel_visible) { > + text_input->input_panel_visible && > + text_input->manager->current_text_input == text_input) { > wl_signal_emit(>hide_input_panel_signal, ec); > text_input->input_panel_visible = false; > - text_input->manager->current_panel = NULL; > } > + > + if (text_input->manager->current_text_input == text_input) > + text_input->manager->current_text_input = NULL; > + > zwp_text_input_v1_send_leave(text_input->resource); > } > > @@ -206,12 +210,11 @@ text_input_activate(struct wl_client *client, > > input_method_context_create(text_input, input_method); > > - current = text_input->manager->current_panel; > + current = text_input->manager->current_text_input; > > if (current && current != text_input) { > current->input_panel_visible = false; > wl_signal_emit(>hide_input_panel_signal, ec); > - text_input->manager->current_panel = NULL; > } > > if (text_input->input_panel_visible) { > @@ -219,8 +222,8 @@ text_input_activate(struct wl_client *client, > text_input->surface); > wl_signal_emit(>update_input_panel_signal, > _input->cursor_rectangle); > - text_input->manager->current_panel = text_input; > } > + text_input->manager->current_text_input = text_input; > > zwp_text_input_v1_send_enter(text_input->resource, > text_input->surface->resource); > @@ -335,7 +338,8 @@ text_input_show_input_panel(struct wl_client > *client, > > text_input->input_panel_visible = true; > > - if (!wl_list_empty(_input->input_methods)) { > + if (!wl_list_empty(_input->input_methods) && > + text_input == text_input->manager->current_text_input) { > wl_signal_emit(>show_input_panel_signal, > text_input->surface); > wl_signal_emit(>update_input_panel_signal, > @@ -353,10 +357,8 @@ text_input_hide_input_panel(struct wl_client > *client, > text_input->input_panel_visible = false; > > if (!wl_list_empty(_input->input_methods) && > - text_input == text_input->manager->current_panel) { > - text_input->manager->current_panel = NULL; > + text_input == text_input->manager->current_text_input) > wl_signal_emit(>hide_input_panel_signal, ec); > - } > } > > static void Ping? ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
[PATCH weston 1/2] text-backend: Allow client hiding of input panel
Previously, the hide_input_panel and show_input_panel messages for the text input protocol were limited to specific cases, such as showing the panel on activation, or making the panel visible after activation. Now, clients are allowed to toggle the panel visiblity at will as long as they are the currently active client Signed-off-by: Joshua Watt--- compositor/text-backend.c | 22 -- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/compositor/text-backend.c b/compositor/text-backend.c index bf5c45c..6add101 100644 --- a/compositor/text-backend.c +++ b/compositor/text-backend.c @@ -64,7 +64,7 @@ struct text_input_manager { struct wl_global *text_input_manager_global; struct wl_listener destroy_listener; - struct text_input *current_panel; + struct text_input *current_text_input; struct weston_compositor *ec; }; @@ -140,11 +140,15 @@ deactivate_input_method(struct input_method *input_method) input_method->context = NULL; if (wl_list_empty(_input->input_methods) && - text_input->input_panel_visible) { + text_input->input_panel_visible && + text_input->manager->current_text_input == text_input) { wl_signal_emit(>hide_input_panel_signal, ec); text_input->input_panel_visible = false; - text_input->manager->current_panel = NULL; } + + if (text_input->manager->current_text_input == text_input) + text_input->manager->current_text_input = NULL; + zwp_text_input_v1_send_leave(text_input->resource); } @@ -206,12 +210,11 @@ text_input_activate(struct wl_client *client, input_method_context_create(text_input, input_method); - current = text_input->manager->current_panel; + current = text_input->manager->current_text_input; if (current && current != text_input) { current->input_panel_visible = false; wl_signal_emit(>hide_input_panel_signal, ec); - text_input->manager->current_panel = NULL; } if (text_input->input_panel_visible) { @@ -219,8 +222,8 @@ text_input_activate(struct wl_client *client, text_input->surface); wl_signal_emit(>update_input_panel_signal, _input->cursor_rectangle); - text_input->manager->current_panel = text_input; } + text_input->manager->current_text_input = text_input; zwp_text_input_v1_send_enter(text_input->resource, text_input->surface->resource); @@ -335,7 +338,8 @@ text_input_show_input_panel(struct wl_client *client, text_input->input_panel_visible = true; - if (!wl_list_empty(_input->input_methods)) { + if (!wl_list_empty(_input->input_methods) && + text_input == text_input->manager->current_text_input) { wl_signal_emit(>show_input_panel_signal, text_input->surface); wl_signal_emit(>update_input_panel_signal, @@ -353,10 +357,8 @@ text_input_hide_input_panel(struct wl_client *client, text_input->input_panel_visible = false; if (!wl_list_empty(_input->input_methods) && - text_input == text_input->manager->current_panel) { - text_input->manager->current_panel = NULL; + text_input == text_input->manager->current_text_input) wl_signal_emit(>hide_input_panel_signal, ec); - } } static void -- 2.9.4 ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel