[Spice-devel] [PATCH] spice-widget: Don't return early from focus_in_event when widget is not realized

Marc-André Lureau mlureau at redhat.com
Fri Jan 23 09:04:02 PST 2015


thanks! ack

----- Original Message -----
> Otherwise SpiceDisplay might not get the keyboard grab.
> It also silence GSpice-CRITICAL on focus out event:
> GSpice-CRITICAL **: spice_gtk_session_request_auto_usbredir: assertion
> 's->auto_usbredir_reqs > 0' failed
> ---
>  gtk/spice-widget.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/gtk/spice-widget.c b/gtk/spice-widget.c
> index 3a2be87..147271c 100644
> --- a/gtk/spice-widget.c
> +++ b/gtk/spice-widget.c
> @@ -1475,9 +1475,6 @@ static gboolean focus_in_event(GtkWidget *widget,
> GdkEventFocus *focus G_GNUC_UN
>  
>      SPICE_DEBUG("%s", __FUNCTION__);
>  
> -    if (!gtk_widget_get_realized(widget))
> -        return true;
> -
>      /*
>       * Ignore focus in when we already have the focus
>       * (this happens when doing an ungrab from the leave_event callback).
> @@ -1492,7 +1489,9 @@ static gboolean focus_in_event(GtkWidget *widget,
> GdkEventFocus *focus G_GNUC_UN
>          memset(d->activeseq, 0, sizeof(gboolean) * d->grabseq->nkeysyms);
>      update_keyboard_focus(display, true);
>      try_keyboard_grab(display);
> -    update_display(display);
> +
> +    if (gtk_widget_get_realized(widget))
> +        update_display(display);
>  
>      return true;
>  }
> --
> 1.9.3
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
> 


More information about the Spice-devel mailing list