Add more sanity checks in client container event handler.
SVN revision: 27985
This commit is contained in:
parent
a70fdcfb70
commit
01d8e455b3
19
src/ewins.c
19
src/ewins.c
|
@ -2069,30 +2069,49 @@ EwinHandleEventsContainer(Win win __UNUSED__, XEvent * ev, void *prm)
|
||||||
case ButtonPress:
|
case ButtonPress:
|
||||||
FocusHandleClick(ewin, EwinGetContainerWin(ewin));
|
FocusHandleClick(ewin, EwinGetContainerWin(ewin));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MapRequest:
|
case MapRequest:
|
||||||
|
if (ev->xmaprequest.window != EwinGetClientXwin(ewin))
|
||||||
|
break;
|
||||||
EwinEventMapRequest(ewin, ev->xmaprequest.window);
|
EwinEventMapRequest(ewin, ev->xmaprequest.window);
|
||||||
break;
|
break;
|
||||||
case ConfigureRequest:
|
case ConfigureRequest:
|
||||||
|
if (ev->xconfigurerequest.window != EwinGetClientXwin(ewin))
|
||||||
|
break;
|
||||||
EwinEventConfigureRequest(ewin, ev);
|
EwinEventConfigureRequest(ewin, ev);
|
||||||
break;
|
break;
|
||||||
case ResizeRequest:
|
case ResizeRequest:
|
||||||
|
if (ev->xresizerequest.window != EwinGetClientXwin(ewin))
|
||||||
|
break;
|
||||||
EwinEventResizeRequest(ewin, ev);
|
EwinEventResizeRequest(ewin, ev);
|
||||||
break;
|
break;
|
||||||
case CirculateRequest:
|
case CirculateRequest:
|
||||||
|
if (ev->xcirculaterequest.window != EwinGetClientXwin(ewin))
|
||||||
|
break;
|
||||||
EwinEventCirculateRequest(ewin, ev);
|
EwinEventCirculateRequest(ewin, ev);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DestroyNotify:
|
case DestroyNotify:
|
||||||
|
if (ev->xdestroywindow.window != EwinGetClientXwin(ewin))
|
||||||
|
break;
|
||||||
EwinEventDestroy(ewin);
|
EwinEventDestroy(ewin);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EX_EVENT_UNMAP_GONE:
|
case EX_EVENT_UNMAP_GONE:
|
||||||
|
if (ev->xunmap.window != EwinGetClientXwin(ewin))
|
||||||
|
break;
|
||||||
EoSetGone(ewin);
|
EoSetGone(ewin);
|
||||||
|
goto do_unmap;
|
||||||
case UnmapNotify:
|
case UnmapNotify:
|
||||||
|
if (ev->xunmap.window != EwinGetClientXwin(ewin))
|
||||||
|
break;
|
||||||
|
do_unmap:
|
||||||
EwinEventUnmap(ewin, ev);
|
EwinEventUnmap(ewin, ev);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MapNotify:
|
case MapNotify:
|
||||||
|
if (ev->xmap.window != EwinGetClientXwin(ewin))
|
||||||
|
break;
|
||||||
EwinEventMap(ewin, ev);
|
EwinEventMap(ewin, ev);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue