summaryrefslogtreecommitdiff
path: root/hw/xgl
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2005-12-23 01:50:04 +0000
committerDave Airlie <airlied@linux.ie>2005-12-23 01:50:04 +0000
commit7fb521e80d6e2c05e9475e74fbf80bfbe74cda95 (patch)
tree7a455fdebacdf07d337ee750f1bb81ae4b8af891 /hw/xgl
parentc88a3145d057ab72466a3ea8b789bf419e4efc33 (diff)
downloadxserver-7fb521e80d6e2c05e9475e74fbf80bfbe74cda95.tar.gz
from davidr's tree update some fixes
Diffstat (limited to 'hw/xgl')
-rw-r--r--hw/xgl/xglcopy.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/hw/xgl/xglcopy.c b/hw/xgl/xglcopy.c
index b514ba57f..c11bb25c1 100644
--- a/hw/xgl/xglcopy.c
+++ b/hw/xgl/xglcopy.c
@@ -41,11 +41,19 @@ xglCopy (DrawablePtr pSrc,
if (!nBox)
return TRUE;
- if (!xglPrepareTarget (pDst))
- return FALSE;
-
- if (!xglSyncSurface (pSrc))
- return FALSE;
+ if (xglPrepareTarget (pDst))
+ {
+ if (!xglSyncSurface (pSrc))
+ return FALSE;
+ }
+ else
+ {
+ if (!xglPrepareTarget (pSrc))
+ return FALSE;
+
+ if (!xglSyncSurface (pDst))
+ return FALSE;
+ }
XGL_GET_DRAWABLE (pSrc, src, srcXoff, srcYoff);
XGL_GET_DRAWABLE (pDst, dst, dstXoff, dstYoff);