diff options
Diffstat (limited to 'devices/gdevxini.c')
-rw-r--r-- | devices/gdevxini.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/devices/gdevxini.c b/devices/gdevxini.c index 98c743a9..3b46b182 100644 --- a/devices/gdevxini.c +++ b/devices/gdevxini.c @@ -634,6 +634,7 @@ x_set_buffer(gx_device_X * xdev) xdev->buffer = buffer; mdev->width = xdev->width; mdev->height = xdev->height; + rc_decrement(mdev->icc_struct, "x_set_buffer"); mdev->icc_struct = xdev->icc_struct; rc_increment(xdev->icc_struct); mdev->color_info = xdev->orig_color_info; @@ -939,6 +940,8 @@ gdev_x_put_params(gx_device * dev, gs_param_list * plist) int gdev_x_close(gx_device_X *xdev) { + long MaxBitmap = xdev->space_params.MaxBitmap; + if (xdev->ghostview) gdev_x_send_event(xdev, xdev->DONE); if (xdev->vinfo) { @@ -952,5 +955,10 @@ gdev_x_close(gx_device_X *xdev) XFreeGC(xdev->dpy, xdev->gc); XCloseDisplay(xdev->dpy); + /* MaxBitmap == 0 ensures x_set_buffer() configures as non-buffering */ + xdev->space_params.MaxBitmap = 0; + x_set_buffer(xdev); + xdev->space_params.MaxBitmap = MaxBitmap; + return 0; } |