diff options
author | Robin Watts <robin.watts@artifex.com> | 2018-11-01 08:53:01 +0000 |
---|---|---|
committer | Chris Liddell <chris.liddell@artifex.com> | 2018-11-06 08:26:58 +0000 |
commit | 3861d11cf54f66b0b87178a2fce5d598ab58796e (patch) | |
tree | 9d2c82934b53cfedc96e4f5215447dfdf1d6938e | |
parent | a51f172c7785c36dbe530ebcb528d001bb3a4e42 (diff) | |
download | ghostpdl-3861d11cf54f66b0b87178a2fce5d598ab58796e.tar.gz |
Avoid trampling on dev_spec_op when opening printer device.
-rw-r--r-- | base/gdevprn.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/base/gdevprn.c b/base/gdevprn.c index dcdfc7242..56e61f829 100644 --- a/base/gdevprn.c +++ b/base/gdevprn.c @@ -1466,8 +1466,11 @@ gx_default_create_buf_device(gx_device **pbdev, gx_device *target, int y, mdev = (gx_device_memory *)*pbdev; } if (target == (gx_device *)mdev) { + dev_t_proc_dev_spec_op((*orig_dso), gx_device) = dev_proc(mdev, dev_spec_op); /* The following is a special hack for setting up printer devices. */ assign_dev_procs(mdev, mdproto); + /* Do not override the dev_spec_op! */ + dev_proc(mdev, dev_spec_op) = orig_dso; check_device_separable((gx_device *)mdev); /* In order for saved-pages to work, we need to hook the dev_spec_op */ if (mdev->procs.dev_spec_op == NULL) |