diff options
-rw-r--r-- | miext/cw/cw.c | 2 | ||||
-rw-r--r-- | miext/cw/cw_ops.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/miext/cw/cw.c b/miext/cw/cw.c index 4f9b38aa6..5b45075d8 100644 --- a/miext/cw/cw.c +++ b/miext/cw/cw.c @@ -65,7 +65,7 @@ cwCopyClip(GCPtr pgcDst, GCPtr pgcSrc); static void cwDestroyClip(GCPtr pGC); -static GCFuncs cwGCFuncs = { +GCFuncs cwGCFuncs = { cwValidateGC, cwChangeGC, cwCopyGC, diff --git a/miext/cw/cw_ops.c b/miext/cw/cw_ops.c index 198337cf8..f4d6e3478 100644 --- a/miext/cw/cw_ops.c +++ b/miext/cw/cw_ops.c @@ -37,14 +37,19 @@ &src_off_y) #define PROLOGUE(pGC) do { \ + pGC->funcs = pGCPrivate->wrapFuncs;\ pGC->ops = pGCPrivate->wrapOps;\ } while (0) #define EPILOGUE(pGC) do { \ + pGCPrivate->wrapFuncs = (pGC)->funcs; \ pGCPrivate->wrapOps = (pGC)->ops; \ + (pGC)->funcs = &cwGCFuncs; \ (pGC)->ops = &cwGCOps; \ } while (0) +extern GCFuncs cwGCFuncs; + /* * GC ops -- wrap each GC operation with our own function */ |