Screen-backed images (b request with non-zero screenid) would create a "new" canvas context and clip to the child image's rect. It turns out that there's only one context per canvas, so this clipped all other draws to the parent and its other children. Since drawclip()/drawmasked() are reliable these days, that clip is unnecessary. This patch removes the clipping. . Reference: /n/atom/patch/applied/wd-noscreenclip Date: Fri Jun 6 22:36:53 CES 2014 Signed-off-by: root@davidrhoskin.com --- /usr/web/9wd/js/draw/image.js Fri Jun 6 22:33:34 2014 +++ /usr/web/9wd/js/draw/image.js Fri Jun 6 22:33:36 2014 @@ -69,14 +69,6 @@ /* XXX We should create a backing store, depending on refresh value. */ this.canvas = this.screen.backimg.canvas; this.ctx = CtxWrap(this.canvas.getContext("2d")); - this.ctx.beginPath(); - this.ctx.moveTo(r.min.x, r.min.y); - this.ctx.lineTo(r.max.x, r.min.y); - this.ctx.lineTo(r.max.x, r.max.y); - this.ctx.lineTo(r.min.x, r.max.y); - this.ctx.lineTo(r.min.x, r.min.y); - this.ctx.clip(); - /* XXX Fill ScreenImage with background colour. */ }