[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [E-devel] E CVS: e kwo



Enlightenment CVS wrote on Fri, Nov 03, 2006 at 02:29:17PM -0500
> Enlightenment CVS committal
> 
> Author  : kwo
> Project : e16
> Module  : e
> 
> Dir     : e16/e/src
> 
> 
> Modified Files:
> 	ewins.c 
> 
> 
> Log Message:
> Ignore bogus unmap events (before window is mapped) and synthetic unmap events.
> - Either would fix trouble with misbehaving client (gnome-terminal
>   configuration window).
> 
> ===================================================================
> RCS file: /cvs/e/e16/e/src/ewins.c,v
> retrieving revision 1.175
> retrieving revision 1.176
> diff -u -3 -r1.175 -r1.176
> --- ewins.c	26 Oct 2006 20:25:30 -0000	1.175
> +++ ewins.c	3 Nov 2006 19:29:17 -0000	1.176
> @@ -1151,12 +1151,23 @@
>  }
>  
>  static void
> -EwinEventUnmap(EWin * ewin)
> +EwinEventUnmap(EWin * ewin, XEvent * ev)
>  {
>     if (EventDebug(EDBUG_TYPE_EWINS))
>        Eprintf("EwinEventUnmap %#lx st=%d: %s\n", EwinGetClientXwin(ewin),
>  	      ewin->state.state, EwinGetName(ewin));
>  
> +   if (ewin->state.state == EWIN_STATE_NEW)
> +     {
> +	Eprintf("EwinEventUnmap %#lx: Ignoring bogus Unmap event\n",
> +		EwinGetClientXwin(ewin));
> +	return;
> +     }
> +
> +   /* Ignore synthetic events */
> +   if (ev->xany.send_event)
> +      return;
> +
>     if (ewin->state.state == EWIN_STATE_WITHDRAWN)
>        return;
>  
> @@ -2070,15 +2081,7 @@
>       case EX_EVENT_UNMAP_GONE:
>  	EoSetGone(ewin);
>       case UnmapNotify:
> -#if 0
> -	if (ewin->state.state == EWIN_STATE_NEW)
> -	  {
> -	     Eprintf("EwinEventUnmap %#lx: Ignoring bogus Unmap event\n",
> -		     EwinGetClientXwin(ewin));
> -	     break;
> -	  }
> -#endif
> -	EwinEventUnmap(ewin);
> +	EwinEventUnmap(ewin, ev);
>  	break;
>  
>       case MapNotify:
> @@ -2194,7 +2197,7 @@
>  	   break;
>  	if (ev->type == EX_EVENT_UNMAP_GONE)
>  	   EoSetGone(ewin);
> -	EwinEventUnmap(ewin);
> +	EwinEventUnmap(ewin, ev);
>  	break;
>  
>       case DestroyNotify:

I'm having this issue on e17 though. I've to call up twice before
gnome-terminal config dialog setting appear. After this changed, I able
to call up with a single click in e16.

When I run gnome-terminal in the terminal, I got this error with the
first click in e17;

Gtk-CRITICAL **: gtk_file_system_unix_get_parent: assertion
`g_path_is_absolute (filename)' failed

Initially I thought was a app or some gtk related lib's issue.
But anyway, thanks for the fixed Kim :)

-- 
jcwong