From b469fc72d2dd0cf60760fa0828ed73771c2a0512 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 25 Feb 2015 16:03:13 -0500 Subject: composite: Factor out backing store transition No functional change. Reviewed-by: Keith Packard Signed-off-by: Adam Jackson --- composite/compinit.c | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'composite') diff --git a/composite/compinit.c b/composite/compinit.c index cf61f2a57..791fec922 100644 --- a/composite/compinit.c +++ b/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; -- cgit v1.2.3