Signed-off-by: Adam Jackson <[email protected]>
---
mi/mivaltree.c | 62 ++++++++++++++++++++++++++++++----------------------------
1 file changed, 32 insertions(+), 30 deletions(-)
diff --git a/mi/mivaltree.c b/mi/mivaltree.c
index 95153d6..94f88fe 100644
--- a/mi/mivaltree.c
+++ b/mi/mivaltree.c
@@ -240,40 +240,42 @@ miComputeClips(WindowPtr pParent,
}
#endif
- oldVis = pParent->visibility;
- switch (RegionContainsRect(universe, &borderSize)) {
- case rgnIN:
- newVis = VisibilityUnobscured;
- break;
- case rgnPART:
- newVis = VisibilityPartiallyObscured;
- {
- RegionPtr pBounding;
-
- if ((pBounding = wBoundingShape(pParent))) {
- switch (miShapedWindowIn(universe, pBounding,
- &borderSize,
- pParent->drawable.x,
- pParent->drawable.y)) {
- case rgnIN:
- newVis = VisibilityUnobscured;
- break;
- case rgnOUT:
- newVis = VisibilityFullyObscured;
- break;
+ oldVis = newVis = pParent->visibility;
+ if (pParent->viewable) {
+ switch (RegionContainsRect(universe, &borderSize)) {
+ case rgnIN:
+ newVis = VisibilityUnobscured;
+ break;
+ case rgnPART:
+ newVis = VisibilityPartiallyObscured;
+ {
+ RegionPtr pBounding;
+
+ if ((pBounding = wBoundingShape(pParent))) {
+ switch (miShapedWindowIn(universe, pBounding,
+ &borderSize,
+ pParent->drawable.x,
+ pParent->drawable.y)) {
+ case rgnIN:
+ newVis = VisibilityUnobscured;
+ break;
+ case rgnOUT:
+ newVis = VisibilityFullyObscured;
+ break;
+ }
}
}
+ break;
+ default:
+ newVis = VisibilityFullyObscured;
+ break;
}
- break;
- default:
- newVis = VisibilityFullyObscured;
- break;
+ pParent->visibility = newVis;
+ if (oldVis != newVis &&
+ ((pParent->
+ eventMask | wOtherEventMasks(pParent)) & VisibilityChangeMask))
+ SendVisibilityNotify(pParent);
}
- pParent->visibility = newVis;
- if (oldVis != newVis &&
- ((pParent->
- eventMask | wOtherEventMasks(pParent)) & VisibilityChangeMask))
- SendVisibilityNotify(pParent);
dx = pParent->drawable.x - pParent->valdata->before.oldAbsCorner.x;
dy = pParent->drawable.y - pParent->valdata->before.oldAbsCorner.y;
--
1.9.3
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel