aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/composite/compinit.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2014-04-13 14:28:06 +0200
committermarha <marha@users.sourceforge.net>2014-04-13 14:28:06 +0200
commit0bd141efd4832e01c8b269b8566dd5749e30ed55 (patch)
treecdad95c688236c6e2e36f13a3495c498393dabc8 /xorg-server/composite/compinit.c
parentfeab85024204c7db3ad243697fe06bf3960349a9 (diff)
parentd2ad10d03be8e6d4b150bbdf2a28ea3d5a18a2ed (diff)
downloadvcxsrv-0bd141efd4832e01c8b269b8566dd5749e30ed55.tar.gz
vcxsrv-0bd141efd4832e01c8b269b8566dd5749e30ed55.tar.bz2
vcxsrv-0bd141efd4832e01c8b269b8566dd5749e30ed55.zip
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'xorg-server/composite/compinit.c')
-rw-r--r--xorg-server/composite/compinit.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/xorg-server/composite/compinit.c b/xorg-server/composite/compinit.c
index 1db9e0bf5..48e938fac 100644
--- a/xorg-server/composite/compinit.c
+++ b/xorg-server/composite/compinit.c
@@ -229,6 +229,28 @@ CompositeRegisterAlternateVisuals(ScreenPtr pScreen, VisualID * vids,
return compRegisterAlternateVisuals(cs, vids, nVisuals);
}
+Bool
+CompositeRegisterImplicitRedirectionException(ScreenPtr pScreen,
+ VisualID parentVisual,
+ VisualID winVisual)
+{
+ CompScreenPtr cs = GetCompScreen(pScreen);
+ CompImplicitRedirectException *p;
+
+ p = realloc(cs->implicitRedirectExceptions,
+ sizeof(p[0]) * (cs->numImplicitRedirectExceptions + 1));
+ if (p == NULL)
+ return FALSE;
+
+ p[cs->numImplicitRedirectExceptions].parentVisual = parentVisual;
+ p[cs->numImplicitRedirectExceptions].winVisual = winVisual;
+
+ cs->implicitRedirectExceptions = p;
+ cs->numImplicitRedirectExceptions++;
+
+ return TRUE;
+}
+
typedef struct _alternateVisual {
int depth;
CARD32 format;
@@ -349,6 +371,8 @@ compScreenInit(ScreenPtr pScreen)
cs->numAlternateVisuals = 0;
cs->alternateVisuals = NULL;
+ cs->numImplicitRedirectExceptions = 0;
+ cs->implicitRedirectExceptions = NULL;
if (!compAddAlternateVisuals(pScreen, cs)) {
free(cs);