diff --git a/ChangeLog b/ChangeLog index eb134737c..7e6e54315 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,30 @@ +2006-05-11 David Reveman + + * composite/compalloc.c (compRedirectWindow): Init borderClipX and + borderClipY to shut up valgrind. + + * hw/xgl/glxext/xglglxext.c (xglDestroyDrawable): Destroy mesa + drawable when refCount is 0. + (xglScreenDestroy): Use screen destroy function. + + * GL/mesa/X/xf86glx.c: We have to keep a references to all drawables + bound to a context as mesa need them until the context has been + updated with new drawables or has been destroyed. + (__glXMesaDrawableDestroy): Drawable might already be destroyed + mesa should not touch it. + (__glXMesaDrawableResize): XMesaResizeBuffers will update + the current context so only call it if the drawable we're + resizing is bound to the current context. It will be updated when + the context is made current if it's not bound to the current context. + + * GL/glx/glxutil.c (__glXUnrefDrawable): Don't free resource here. + + * GL/glx/glxscreens.c (PositionWindow): Flush context cache and + notify all context using drawable. + + * GL/glx/glxext.c (DrawableGone): Free GLX drawable resource here + so that GLXdrawables can be ref-counted. + 2006-05-10 David Reveman * hw/xgl/xglcompose.c (xglCompositeGeneral): Only use copy optimization diff --git a/composite/compalloc.c b/composite/compalloc.c index 5bbf0a279..0db379da3 100644 --- a/composite/compalloc.c +++ b/composite/compalloc.c @@ -133,6 +133,8 @@ compRedirectWindow (ClientPtr pClient, WindowPtr pWin, int update) } REGION_NULL (pScreen, &cw->borderClip); + cw->borderClipX = pWin->drawable.x; + cw->borderClipY = pWin->drawable.y; cw->update = CompositeRedirectAutomatic; cw->clients = 0; cw->oldx = COMP_ORIGIN_INVALID;