diff options
author | Adam Jackson <ajax@redhat.com> | 2012-09-20 11:16:23 -0400 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2012-09-23 10:40:38 -0700 |
commit | 63843cb70030812bb3a311b2e8dfb0d1b0a75176 (patch) | |
tree | 741de65acb08dd64366c9e3d461fa0134dcc88cb /dix | |
parent | dab7a1ec7fd97e07405e0b01dc1f1ec6e5fc2e7c (diff) |
dix: Factor out MaybeDeliverMapRequest
Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'dix')
-rw-r--r-- | dix/window.c | 40 |
1 files changed, 18 insertions, 22 deletions
diff --git a/dix/window.c b/dix/window.c index 6fb420d3c..804ac0ebb 100644 --- a/dix/window.c +++ b/dix/window.c @@ -2529,6 +2529,20 @@ MapUnmapEventsEnabled(WindowPtr pWin) return pWin != windowDisableMapUnmapEvents; } +static Bool +MaybeDeliverMapRequest(WindowPtr pWin, WindowPtr pParent, ClientPtr client) +{ + xEvent event = { + .u.mapRequest.window = pWin->drawable.id, + .u.mapRequest.parent = pParent->drawable.id + }; + event.u.u.type = MapRequest; + + return MaybeDeliverEventsToClient(pParent, &event, 1, + SubstructureRedirectMask, + client) == 1; +} + /***** * MapWindow * If some other client has selected SubStructureReDirect on the parent @@ -2557,18 +2571,9 @@ MapWindow(WindowPtr pWin, ClientPtr client) if ((pParent = pWin->parent)) { Bool anyMarked; - if ((!pWin->overrideRedirect) && (RedirectSend(pParent))) { - xEvent event = { - .u.mapRequest.window = pWin->drawable.id, - .u.mapRequest.parent = pParent->drawable.id - }; - event.u.u.type = MapRequest; - - if (MaybeDeliverEventsToClient(pParent, &event, 1, - SubstructureRedirectMask, - client) == 1) + if ((!pWin->overrideRedirect) && (RedirectSend(pParent))) + if (MaybeDeliverMapRequest(pWin, pParent, client)) return Success; - } pWin->mapped = TRUE; if (SubStrSend(pWin, pParent) && MapUnmapEventsEnabled(pWin)) { @@ -2640,18 +2645,9 @@ MapSubwindows(WindowPtr pParent, ClientPtr client) anyMarked = FALSE; for (pWin = pParent->firstChild; pWin; pWin = pWin->nextSib) { if (!pWin->mapped) { - if (parentRedirect && !pWin->overrideRedirect) { - xEvent event = { - .u.mapRequest.window = pWin->drawable.id, - .u.mapRequest.parent = pParent->drawable.id - }; - event.u.u.type = MapRequest; - - if (MaybeDeliverEventsToClient(pParent, &event, 1, - SubstructureRedirectMask, - client) == 1) + if (parentRedirect && !pWin->overrideRedirect) + if (MaybeDeliverMapRequest(pWin, pParent, client)) continue; - } pWin->mapped = TRUE; if (parentNotify || StrSend(pWin)) { |