forked from e16/e16
1
0
Fork 0

Add more sanity checks in client container event handler.

SVN revision: 27985
This commit is contained in:
Kim Woelders 2007-01-15 02:19:05 +00:00
parent a70fdcfb70
commit 01d8e455b3
1 changed files with 19 additions and 0 deletions

View File

@ -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;