From 77a4732b0637493966889fe3545966fdc12a1b5e Mon Sep 17 00:00:00 2001 From: marha Date: Sun, 4 Oct 2009 19:13:27 +0000 Subject: Updated to xkeyboard-config-1.7 pixman-0.16.2 libX11-1.3 libXinerama-1.1 xkbcomp-1.1.1 recordproto-1.14 xineramaproto-1.2 inputproto-2.0 compositeproto-0.4.1 xorg-server-1.7.0 --- xorg-server/mi/mieq.c | 3 ++- xorg-server/mi/miexpose.c | 21 +++++++++++++++++++++ xorg-server/mi/miinitext.c | 12 ++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) (limited to 'xorg-server/mi') diff --git a/xorg-server/mi/mieq.c b/xorg-server/mi/mieq.c index 4c6c3bdc6..9b6d0c901 100644 --- a/xorg-server/mi/mieq.c +++ b/xorg-server/mi/mieq.c @@ -323,7 +323,8 @@ CopyGetMasterEvent(DeviceIntPtr sdev, CHECKEVENT(original); - if (!sdev->u.master) + /* ET_XQuartz has sdev == NULL */ + if (!sdev || !sdev->u.master) return NULL; switch(original->any.type) diff --git a/xorg-server/mi/miexpose.c b/xorg-server/mi/miexpose.c index 6ce56ee85..1c9c3a436 100644 --- a/xorg-server/mi/miexpose.c +++ b/xorg-server/mi/miexpose.c @@ -518,6 +518,14 @@ miWindowExposures( WindowPtr pWin, RegionPtr prgn, RegionPtr other_exposed) REGION_DESTROY( pWin->drawable.pScreen, exposures); } +#ifdef ROOTLESS +/* Ugly, ugly, but we lost our hooks into miPaintWindow... =/ */ +void RootlessSetPixmapOfAncestors(WindowPtr pWin); +void RootlessStartDrawing(WindowPtr pWin); +void RootlessDamageRegion(WindowPtr pWin, RegionPtr prgn); +Bool IsFramedWindow(WindowPtr pWin); +#endif + void miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what) { @@ -543,6 +551,19 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what) Bool solid = TRUE; DrawablePtr drawable = &pWin->drawable; +#ifdef ROOTLESS + if(IsFramedWindow(pWin)) { + RootlessStartDrawing(pWin); + RootlessDamageRegion(pWin, prgn); + + if(pWin->backgroundState == ParentRelative) { + if((what == PW_BACKGROUND) || + (what == PW_BORDER && !pWin->borderIsPixel)) + RootlessSetPixmapOfAncestors(pWin); + } + } +#endif + if (what == PW_BACKGROUND) { while (pWin->backgroundState == ParentRelative) diff --git a/xorg-server/mi/miinitext.c b/xorg-server/mi/miinitext.c index 7f59126a4..0dca390bb 100644 --- a/xorg-server/mi/miinitext.c +++ b/xorg-server/mi/miinitext.c @@ -55,6 +55,18 @@ SOFTWARE. #ifdef HAVE_DMX_CONFIG_H #include +#undef MULTIBUFFER +#undef XV +#undef DBE +#undef XF86VIDMODE +#undef XFreeXDGA +#undef XF86DRI +#undef SCREENSAVER +#undef RANDR +#undef XFIXES +#undef DAMAGE +#undef COMPOSITE +#undef MITSHM #endif #ifdef HAVE_XNEST_CONFIG_H -- cgit v1.2.3