Subject: Re: bug#19547: Patch for this bug

From: [email-masked]
Date: Sun, 27 Nov 2016 09:07:51 -0500

Thierry Volpiatto <[email-masked]> writes:
>  
> +  Lisp_Object ignore_event;
> +
> +  switch (event->kind)
> +    {
> +    case FOCUS_IN_EVENT: ignore_event = Qfocus_in;
> +    case FOCUS_OUT_EVENT: ignore_event = Qfocus_out;
> +    case HELP_EVENT: ignore_event = Qhelp;
> +    case ICONIFY_EVENT: ignore_event = Qiconify;
> +    case DEICONIFY_EVENT: ignore_event = Qdeiconify;
> +    case SELECTION_REQUEST_EVENT: ignore_event = Qselection_request;

You need a break at the end of each case, otherwise all events would be
treated as SELECTION_REQUEST_EVENT.

    case FOCUS_IN_EVENT: ignore_event = Qfocus_in; break;

> +  Vwhile_no_input_ignore_events = Qnil;
> +    /* = listn (Qfocus_in, Qfocus_out, Qhelp, Qiconify, Qdeiconify, Qselection_request); */

I think something like this should work:

    listn (CONSTYPE_PURE, 6, Qfocus_in, Qfocus_out, Qhelp, Qiconify, Qdeiconify, Qselection_request);