Make cw generate GraphicsExposes

This commit is contained in:
sandmann 2006-10-05 01:22:18 +00:00
parent dacddac3cc
commit f4d5d10ab1
2 changed files with 90 additions and 1 deletions

View File

@ -0,0 +1,82 @@
--- xorg-server-1.1.1/miext/cw/cw_ops.c.graphics-expose 2006-10-04 20:46:11.000000000 -0400
+++ xorg-server-1.1.1/miext/cw/cw_ops.c 2006-10-04 20:52:32.000000000 -0400
@@ -30,6 +30,7 @@
#include "gcstruct.h"
#include "pixmapstr.h"
#include "cw.h"
+#include "mi.h"
#define SETUP_BACKING_DST(_pDst, _pGC) \
cwGCPtr pGCPrivate = getCwGC (_pGC); \
@@ -184,56 +185,40 @@
cwCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC, int srcx, int srcy,
int w, int h, int dstx, int dsty)
{
- int odstx, odsty;
- RegionPtr exposed = NULL;
SETUP_BACKING_DST(pDst, pGC);
SETUP_BACKING_SRC(pSrc, pGC);
PROLOGUE(pGC);
- odstx = dstx;
- odsty = dsty;
- CW_OFFSET_XY_DST(dstx, dsty);
- CW_OFFSET_XY_SRC(srcx, srcy);
-
- exposed = (*pBackingGC->ops->CopyArea)(pBackingSrc, pBackingDst,
- pBackingGC, srcx, srcy, w, h,
- dstx, dsty);
-
- if (exposed != NULL)
- REGION_TRANSLATE(pDst->pScreen, exposed, odstx - dstx, odsty - dsty);
+ (*pBackingGC->ops->CopyArea)(pBackingSrc, pBackingDst,
+ pBackingGC, srcx, srcy, w, h,
+ dstx, dsty);
EPILOGUE(pGC);
- return exposed;
+ return miHandleExposures (pSrc, pDst, pBackingGC,
+ srcx, srcy, w, h,
+ dstx, dsty, 0);
}
static RegionPtr
cwCopyPlane(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC, int srcx, int srcy,
int w, int h, int dstx, int dsty, unsigned long plane)
{
- int odstx, odsty;
- RegionPtr exposed = NULL;
SETUP_BACKING_DST(pDst, pGC);
SETUP_BACKING_SRC(pSrc, pGC);
PROLOGUE(pGC);
- odstx = dstx;
- odsty = dsty;
- CW_OFFSET_XY_DST(dstx, dsty);
- CW_OFFSET_XY_SRC(srcx, srcy);
-
- exposed = (*pBackingGC->ops->CopyPlane)(pBackingSrc, pBackingDst,
- pBackingGC, srcx, srcy, w, h,
- dstx, dsty, plane);
-
- if (exposed != NULL)
- REGION_TRANSLATE(pDst->pScreen, exposed, odstx - dstx, odsty - dsty);
-
- EPILOGUE(pGC);
-
- return exposed;
+ (*pBackingGC->ops->CopyPlane)(pBackingSrc, pBackingDst,
+ pBackingGC, srcx, srcy, w, h,
+ dstx, dsty, plane);
+
+ EPILOGUE(pGC);
+
+ return miHandleExposures (pSrc, pDst, pBackingGC,
+ srcx, srcy, w, h,
+ dstx, dsty, plane);
}
static void

View File

@ -3,7 +3,7 @@
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.1.1
Release: 44%{?dist}
Release: 45%{?dist}
URL: http://www.x.org
License: MIT/X11
Group: User Interface/X
@ -25,6 +25,7 @@ Patch8: xorg-x11-server-1.1.1-xvfb-composite-crash.patch
Patch9: xorg-x11-server-1.1.1-pclose-confusion.patch
Patch10: xorg-x11-server-1.1.1-vbe-filter-less.patch
Patch11: xorg-x11-server-1.1.1-vt-activate-is-a-terrible-api.patch
Patch12: xorg-x11-server-1.1.1-graphics-expose.patch
# OpenGL compositing manager feature/optimization patches.
Patch100: xorg-x11-server-1.1.0-no-move-damage.patch
@ -348,6 +349,7 @@ drivers, input drivers, or other X modules should install this package.
%patch9 -p1 -b .pclose
%patch10 -p1 -b .vbe-filter
%patch11 -p1 -b .vt-activate
%patch12 -p1 -b .graphics-expose
%patch100 -p0 -b .no-move-damage
%patch101 -p0 -b .dont-backfill-bg-none
@ -719,6 +721,11 @@ rm -rf $RPM_BUILD_ROOT
# -------------------------------------------------------------------
%changelog
* Wed Oct 4 2006 Soren Sandmann <sandmann@redhat.com> - 1.1.1-45.fc6
- xorg-x11-server-1.1.1-graphics-expose.patch: call
miHandleExposures() in CopyArea/CopyPlane explicitly in cw to
generate GraphicsExposes correctly. (#209336).
* Mon Oct 2 2006 Kristian Høgsberg <krh@redhat.com> - 1.1.1-44.fc6
- xorg-x11-server-1.1.1-offscreen-pixmaps.patch: Take the server lock
before calling back into XAA to evict pixmaps (#204810).