summaryrefslogtreecommitdiff
path: root/composite/compinit.c
diff options
context:
space:
mode:
authorDeron Johnson <deron.johnson@sun.com>2006-03-13 21:59:55 +0000
committerDeron Johnson <deron.johnson@sun.com>2006-03-13 21:59:55 +0000
commit450018f48b2796345a4eaccbb94c1971ebd30114 (patch)
treeaf68eaa7495bb9997833ec674eb83316f2bbac94 /composite/compinit.c
parente5956f49b217b0ee9c9f35b6a58f339a8d22b1d7 (diff)
Part 3 of 3 (Other parts are in proto and lib) Composite Version 0.3:
CompositeGetOverlayWindow, CompositeReleaseOverlayWindow Xfixes Version 4.0: XFixesHideCursor, XFixesShowCursor
Diffstat (limited to 'composite/compinit.c')
-rw-r--r--composite/compinit.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/composite/compinit.c b/composite/compinit.c
index 07048dbb6..e74e38248 100644
--- a/composite/compinit.c
+++ b/composite/compinit.c
@@ -1,6 +1,26 @@
/*
* $Id$
*
+ * Copyright © 2006 Sun Microsystems
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Sun Microsystems not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Sun Microsystems makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ *
* Copyright © 2003 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
@@ -33,6 +53,7 @@ int CompWindowPrivateIndex;
int CompSubwindowsPrivateIndex;
int CompGeneration;
+
static Bool
compCloseScreen (int index, ScreenPtr pScreen)
{
@@ -55,6 +76,15 @@ compCloseScreen (int index, ScreenPtr pScreen)
pScreen->CreateWindow = cs->CreateWindow;
pScreen->CopyWindow = cs->CopyWindow;
pScreen->PositionWindow = cs->PositionWindow;
+
+ deleteCompOverlayClientsForScreen(pScreen);
+
+ /*
+ ** Note: no need to call DeleteWindow; the server has
+ ** already destroyed it.
+ */
+ cs->pOverlayWin = NULL;
+
xfree (cs);
pScreen->devPrivates[CompScreenPrivateIndex].ptr = 0;
ret = (*pScreen->CloseScreen) (index, pScreen);
@@ -333,6 +363,8 @@ compScreenInit (ScreenPtr pScreen)
return FALSE;
cs->damaged = FALSE;
+ cs->pOverlayWin = NULL;
+ cs->pOverlayClients = NULL;
if (!compAddAlternateVisuals (pScreen, cs))
{
@@ -386,5 +418,6 @@ compScreenInit (ScreenPtr pScreen)
pScreen->CloseScreen = compCloseScreen;
pScreen->devPrivates[CompScreenPrivateIndex].ptr = (pointer) cs;
+
return TRUE;
}