[xserver-commit] xserver/dix window.c,3.38,3.39
Keith Packard
xserver-commit@pdx.freedesktop.org
Wed, 19 Nov 2003 19:31:31 -0800
- Previous message: [xserver-commit] xserver/composite compalloc.c,1.6,1.7 compext.c,1.3,1.4 compinit.c,1.7,1.8 compint.h,1.6,1.7 compwindow.c,1.8,1.9
- Next message: [xserver-commit] xserver/hw/kdrive/ati ati.c,1.2,1.3 ati.h,1.1,1.2 ati_draw.c,1.2,1.3 ati_reg.h,1.1,1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Committed by: keithp
Update of /cvs/xserver/xserver/dix
In directory pdx:/tmp/cvs-serv11614/dix
Modified Files:
window.c
Log Message:
* composite/compalloc.c: (compFreePixmap), (compReallocPixmap):
* composite/compext.c:
* composite/compinit.c: (compCloseScreen), (compScreenInit):
* composite/compint.h:
* composite/compwindow.c: (compCheckRedirect),
(compPositionWindow), (compMoveWindow), (compResizeWindow),
(compChangeBorderWidth), (compCopyWindow):
* dix/window.c:
(Yes, these are all related changes). Rework window manipulation
while Composite is enabled. The basic problem was when the
window was resized, the offscreen pixmap would get resized and if
that shrunk, the eventual CopyWindow call would not be able to get
bits. Now, all resizes are managed by allocating a new pixmap
and hanging on to the old one until after all of the CopyWindow
calls are done.
A related change was to reset the borderClip back to the
parent-limited version when removing redirection from a window
so that the UnmapWindow operation within that uses the correct
value
Index: window.c
===================================================================
RCS file: /cvs/xserver/xserver/dix/window.c,v
retrieving revision 3.38
retrieving revision 3.39
diff -u -d -r3.38 -r3.39
--- window.c 18 Nov 2003 03:41:37 -0000 3.38
+++ window.c 20 Nov 2003 03:31:29 -0000 3.39
@@ -3048,6 +3048,7 @@
{
if (pChild->realized)
{
+ Bool viewable;
pChild->realized = FALSE;
pChild->visibility = VisibilityNotViewable;
#ifdef PANORAMIX
@@ -3059,9 +3060,11 @@
win->u.win.visibility = VisibilityNotViewable;
}
#endif
+ viewable = pChild->viewable;
+ pChild->viewable = FALSE;
(* Unrealize)(pChild);
DeleteWindowFromAnyEvents(pChild, FALSE);
- if (pChild->viewable)
+ if (viewable)
{
#ifdef DO_SAVE_UNDERS
if (pChild->saveUnder)
- Previous message: [xserver-commit] xserver/composite compalloc.c,1.6,1.7 compext.c,1.3,1.4 compinit.c,1.7,1.8 compint.h,1.6,1.7 compwindow.c,1.8,1.9
- Next message: [xserver-commit] xserver/hw/kdrive/ati ati.c,1.2,1.3 ati.h,1.1,1.2 ati_draw.c,1.2,1.3 ati_reg.h,1.1,1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]