diff options
author | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2016-05-29 12:02:41 +0000 |
---|---|---|
committer | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2016-05-29 12:02:41 +0000 |
commit | 4a991716ac65d28a68f9943d54c4b74ad0b58f65 (patch) | |
tree | c037c3fe64bb15ea67dbf03a96783a8b04085371 /xserver/composite | |
parent | 549cb8bcb6bdd3a7d44f3b9fdc003df777b2b0d2 (diff) |
Update to xserver 1.18.3. Tested by shadchin@ and naddy@.
Note that indirect GLX is now disbled by default.
Diffstat (limited to 'xserver/composite')
-rw-r--r-- | xserver/composite/Makefile.in | 6 | ||||
-rw-r--r-- | xserver/composite/compinit.c | 35 | ||||
-rw-r--r-- | xserver/composite/compwindow.c | 2 |
3 files changed, 22 insertions, 21 deletions
diff --git a/xserver/composite/Makefile.in b/xserver/composite/Makefile.in index 748bcad49..ac2f9f84b 100644 --- a/xserver/composite/Makefile.in +++ b/xserver/composite/Makefile.in @@ -58,8 +58,7 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_define_dir.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/xorg-tls.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -247,7 +246,6 @@ GLAMOR_LIBS = @GLAMOR_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GLX_SYS_LIBS = @GLX_SYS_LIBS@ -GLX_TLS = @GLX_TLS@ GL_CFLAGS = @GL_CFLAGS@ GL_LIBS = @GL_LIBS@ GREP = @GREP@ @@ -377,8 +375,6 @@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ XF86CONFIGDIR = @XF86CONFIGDIR@ XF86CONFIGFILE = @XF86CONFIGFILE@ -XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ -XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ diff --git a/xserver/composite/compinit.c b/xserver/composite/compinit.c index 3ac075a46..791fec922 100644 --- a/xserver/composite/compinit.c +++ b/xserver/composite/compinit.c @@ -105,6 +105,20 @@ compInstallColormap(ColormapPtr pColormap) pScreen->InstallColormap = compInstallColormap; } +static void +compCheckBackingStore(WindowPtr pWin) +{ + if (pWin->backingStore != NotUseful && !pWin->backStorage) { + compRedirectWindow(serverClient, pWin, CompositeRedirectAutomatic); + pWin->backStorage = TRUE; + } + else if (pWin->backingStore == NotUseful && pWin->backStorage) { + compUnredirectWindow(serverClient, pWin, + CompositeRedirectAutomatic); + pWin->backStorage = FALSE; + } +} + /* Fake backing store via automatic redirection */ static Bool compChangeWindowAttributes(WindowPtr pWin, unsigned long mask) @@ -117,17 +131,8 @@ compChangeWindowAttributes(WindowPtr pWin, unsigned long mask) ret = pScreen->ChangeWindowAttributes(pWin, mask); if (ret && (mask & CWBackingStore) && - pScreen->backingStoreSupport != NotUseful) { - if (pWin->backingStore != NotUseful && !pWin->backStorage) { - compRedirectWindow(serverClient, pWin, CompositeRedirectAutomatic); - pWin->backStorage = TRUE; - } - else if (pWin->backingStore == NotUseful && pWin->backStorage) { - compUnredirectWindow(serverClient, pWin, - CompositeRedirectAutomatic); - pWin->backStorage = FALSE; - } - } + pScreen->backingStoreSupport != NotUseful) + compCheckBackingStore(pWin); pScreen->ChangeWindowAttributes = compChangeWindowAttributes; @@ -223,8 +228,8 @@ compRegisterAlternateVisuals(CompScreenPtr cs, VisualID * vids, int nVisuals) { VisualID *p; - p = realloc(cs->alternateVisuals, - sizeof(VisualID) * (cs->numAlternateVisuals + nVisuals)); + p = reallocarray(cs->alternateVisuals, + cs->numAlternateVisuals + nVisuals, sizeof(VisualID)); if (p == NULL) return FALSE; @@ -253,8 +258,8 @@ CompositeRegisterImplicitRedirectionException(ScreenPtr pScreen, CompScreenPtr cs = GetCompScreen(pScreen); CompImplicitRedirectException *p; - p = realloc(cs->implicitRedirectExceptions, - sizeof(p[0]) * (cs->numImplicitRedirectExceptions + 1)); + p = reallocarray(cs->implicitRedirectExceptions, + cs->numImplicitRedirectExceptions + 1, sizeof(p[0])); if (p == NULL) return FALSE; diff --git a/xserver/composite/compwindow.c b/xserver/composite/compwindow.c index 77bdfa23c..344138ad7 100644 --- a/xserver/composite/compwindow.c +++ b/xserver/composite/compwindow.c @@ -104,7 +104,7 @@ compRepaintBorder(ClientPtr pClient, void *closure) RegionNull(&exposed); RegionSubtract(&exposed, &pWindow->borderClip, &pWindow->winSize); - miPaintWindow(pWindow, &exposed, PW_BORDER); + pWindow->drawable.pScreen->PaintWindow(pWindow, &exposed, PW_BORDER); RegionUninit(&exposed); } return TRUE; |