diff options
author | Deron Johnson <deron.johnson@sun.com> | 2006-03-13 21:59:55 +0000 |
---|---|---|
committer | Deron Johnson <deron.johnson@sun.com> | 2006-03-13 21:59:55 +0000 |
commit | 450018f48b2796345a4eaccbb94c1971ebd30114 (patch) | |
tree | af68eaa7495bb9997833ec674eb83316f2bbac94 /composite/compinit.c | |
parent | e5956f49b217b0ee9c9f35b6a58f339a8d22b1d7 (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.c | 33 |
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; } |