nanogui: GrCopyArea bug
Subject:
GrCopyArea bug
From:
Kyle Harris ####@####.####
Date:
8 Mar 2000 15:13:59 -0000
Message-Id: <38C66B5F.E13F4BAE@nexus-tech.net>
Greg,
There's a minor bug in GrCopyArea where *dp is not initialized when
copying from the same drawing area. Below is the patch I applied to fix
it.
--- srvfunc.c.orig Wed Mar 8 06:15:13 2000
+++ srvfunc.c Wed Mar 8 06:18:24 2000
@@ -1295,11 +1295,13 @@
GR_DRAWABLE *dp;
GR_WINDOW *swp;
GR_PIXMAP *spp;
+ GR_DRAW_TYPE type;
PSD srcpsd;
srcpsd = 0;
swp = GsFindWindow(source);
+ type = GsPrepareDrawing(id, gc, &dp);
if (swp) {
srcpsd = dp->psd;
srcx += swp->x;
@@ -1312,7 +1314,7 @@
if (!srcpsd)
return;
- switch (GsPrepareDrawing(id, gc, &dp)) {
+ switch (type) {
case GR_DRAW_TYPE_WINDOW:
case GR_DRAW_TYPE_PIXMAP:
GdBlit(dp->psd, dp->x + x, dp->y + y, width, height,