aboutsummaryrefslogtreecommitdiff
path: root/src/libdraw/x11-init.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libdraw/x11-init.c')
-rw-r--r--src/libdraw/x11-init.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/libdraw/x11-init.c b/src/libdraw/x11-init.c
index 14c96a66..b2b3ca73 100644
--- a/src/libdraw/x11-init.c
+++ b/src/libdraw/x11-init.c
@@ -70,7 +70,8 @@ _initdisplay(void (*error)(Display*, char*), char *label)
d->error = error;
_initdisplaymemimage(d, m);
- d->screenimage = getimage0(d, 0);
+ d->image = getimage0(d, 0);
+
return d;
}
@@ -146,10 +147,15 @@ getwindow(Display *d, int ref)
* so we have to reuse the image structure
* memory we already have.
*/
- oi = d->screenimage;
+ oi = d->image;
i = getimage0(d, oi);
- screen = d->screenimage = d->image = i;
+ d->image = i;
// fprint(2, "getwindow %p -> %p\n", oi, i);
+
+ _screen = allocscreen(i, d->white, 0);
+ _freeimage1(screen);
+ screen = _allocwindow(screen, _screen, i->r, ref, DWhite);
+ d->screenimage = screen;
return 0;
}